❶ java如何實現獲取一年中所有周的星期一和星期天。(要求1月4號所在的周為新年第一周)
代碼截圖如下:從2021-1-1到2021-12-31日
運行結果
❷ java獲取某個時間的上周一和周日
mport java.text.SimpleDateFormat;
import java.util.Calendar;
public class Test{
public static void main(String args[]){
Calendar cal = Calendar.getInstance();
//n為推遲的周數,1本周,-1向前推遲一周,2下周,依次類推
int n = 2;
String monday;
cal.add(Calendar.DATE, n*7);
//想周幾,這里就傳幾Calendar.MONDAY(TUESDAY...)
cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
monday = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
System.out.println(monday);
}
}
❸ java如何得到上周一和上周日的日期
/**
* 獲取上周五時間
*/
public Date lastFirday() {
//作用防止周日得到本周日期
Calendar calendar = Calendar.getInstance();
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1);
}
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
int offset = 7 - dayOfWeek;
calendar.add(Calendar.DATE, offset - 9);
return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 6);//這是從上周日開始數的到本周五為6
}
/**
* 獲取上周一時間
*/
public Date lastMonday() {
Calendar calendar = Calendar.getInstance();
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1);
}
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
int offset = 1 - dayOfWeek;
calendar.add(Calendar.DATE, offset - 7);
return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 2);
}
❹ java 獲取當前日期時間和本周的星期一的日期時間
提倡了一下中文寫,...
static public void main(String 參數[]){
SimpleDateFormat 格式=new SimpleDateFormat("y年M月d日 E H時m分s秒",Locale.CHINA);
Calendar 日歷=Calendar.getInstance(Locale.CHINA);
//當前時間,貌似多餘,其實是為了所有可能的系統一致
日歷.setTimeInMillis(System.currentTimeMillis());
System.out.println("當前時間:"+格式.format(日歷.getTime()));
日歷.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println("周一時間:"+格式.format(日歷.getTime()));
}
===========
改到後天測了一下
輸出
當前時間:2011年8月31日 星期三 12時32分40秒
周一時間:2011年8月29日 星期一 12時32分40秒
❺ 在java里怎麼取離當前日期最近的一個星期天
packagecom.rxlamo.;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
publicclassTest{
publicstaticvoidmain(String[]args){
//獲取離當前日期最近的一個星期天
getLastSunday();
}
/**
*獲取離當前日期最近的一個星期天
*/
publicstaticvoidgetLastSunday(){
//獲取當前日期
Calendarcalendar=Calendar.getInstance();
//距離上個周日的差值
longdiffTime=0L;
//今天星期幾,註:此處周日=1,周一=2。。。。
intdayOfWeek=calendar.get(Calendar.DAY_OF_WEEK);
System.out.println("toady:"+dayOfWeek);
//如果今天是周日,看需求,是取今天的,還是取上周的
if(dayOfWeek==1){
//取今天
//dayOfWeek=1;
//取上周
dayOfWeek=8;
}
//計算當前時間距離上周日的時差,此處一周的開始從周日算起,根據需要
diffTime=(dayOfWeek-1)*24*60*60*1000;
calendar.setTimeInMillis(System.currentTimeMillis()-diffTime);
//
SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
System.out.println("lastSunday:"+dateFormat.format(calendar.getTime()));
//如果一周的開始從周一計算,並且請注釋掉上面的if(dayOfWeek==1)處判斷,需要重新判斷
if(dayOfWeek==1){
//取今天
//dayOfWeek=0;
//取上周
dayOfWeek=7;
}
diffTime=dayOfWeek*24*60*60*1000;
calendar.setTimeInMillis(System.currentTimeMillis()-diffTime);
System.out.println("lastSunday:"+dateFormat.format(calendar.getTime()));
}
}
有不明白在問我
❻ java 如何取得下周一和下周日的日期
import java.text.*;
import java.util.*;
public class PrintThisMonday{
public static void main(String[] argv)throws Exception{
for(int i=1; i<11; i++){
String strDate = String.format("2012-12-0%d", i);
Date date = str2Date(strDate);
Date dateSunDay = getSunday(date);
Date dateMonday = getMonday(date);
System.out.println(String.format("日期 %tY-%<tm-%<td %<ta 周日是:%tY-%<tm-%<td %<ta 周一是:%tY-%<tm-%<td %<ta", date, dateSunDay, dateMonday) );
}
}
//註:周日是一周的開始
public static Date getMonday(Date date)throws Exception{
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int week = cal.get(Calendar.DAY_OF_WEEK);
if(week>2){
cal.add(Calendar.DAY_OF_MONTH,-(week-2)+7);
}else{
cal.add(Calendar.DAY_OF_MONTH,2-week+7);
}
return cal.getTime();
}
//註:周日是一周的開始
public static Date getSunday(Date date)throws Exception{
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int week = cal.get(Calendar.DAY_OF_WEEK);
if(week>1){
cal.add(Calendar.DAY_OF_MONTH,-(week-1)+7);
}else{
cal.add(Calendar.DAY_OF_MONTH,1-week+7);
}
return cal.getTime();
}
static SimpleDateFormat fmt=new SimpleDateFormat("yyyy-MM-dd");
static Date str2Date(String s){
try{
return fmt.parse(s);
}catch(Exception ex){
ex.printStackTrace();
return null;
}
}
}
日期 2012-12-01 星期六 周日是:2012-12-02 星期日 周一是:2012-12-03 星期一
日期 2012-12-02 星期日 周日是:2012-12-09 星期日 周一是:2012-12-10 星期一
日期 2012-12-03 星期一 周日是:2012-12-09 星期日 周一是:2012-12-10 星期一
日期 2012-12-04 星期二 周日是:2012-12-09 星期日 周一是:2012-12-10 星期一
日期 2012-12-05 星期三 周日是:2012-12-09 星期日 周一是:2012-12-10 星期一
日期 2012-12-06 星期四 周日是:2012-12-09 星期日 周一是:2012-12-10 星期一
日期 2012-12-07 星期五 周日是:2012-12-09 星期日 周一是:2012-12-10 星期一
日期 2012-12-08 星期六 周日是:2012-12-09 星期日 周一是:2012-12-10 星期一
日期 2012-12-09 星期日 周日是:2012-12-16 星期日 周一是:2012-12-17 星期一
日期 2012-12-10 星期一 周日是:2012-12-16 星期日 周一是:2012-12-17 星期一
❼ java如何獲取每個月的所有周六周日日期
publicstaticvoidmain(String[]args)throwsParseException{
intyear=2017;
Calendarcalendar=newGregorianCalendar(year,0,1);
inti=1;
while(calendar.get(Calendar.YEAR)<year+1){
calendar.set(Calendar.WEEK_OF_YEAR,i++);
calendar.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
if(calendar.get(Calendar.YEAR)==year){
System.out.printf("星期天:%tF%n",calendar);
}
calendar.set(Calendar.DAY_OF_WEEK,Calendar.SATURDAY);
if(calendar.get(Calendar.YEAR)==year){
System.out.printf("星期六:%tF%n",calendar);
}
}
}
❽ java 獲取某一月的所有周的日期段(周一到周日)
用SimpleDateFormat
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test030 {
public static void main(String[] args){
String s = "2013/9";
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd");
sdf1.setLenient(false);
SimpleDateFormat sdf2 = new SimpleDateFormat("EEE");
for(int i = 1; i < 32; i++){
try {
Date date = sdf1.parse(s + "/" + i);
System.out.println(sdf1.format(date) + " : " + sdf2.format(date));
} catch (ParseException e) {
//do nothing
}
}
}
}
輸入結果:
2013/09/01 : 星期日
2013/09/02 : 星期一
2013/09/03 : 星期二
2013/09/04 : 星期三
2013/09/05 : 星期四
2013/09/06 : 星期五
2013/09/07 : 星期六
2013/09/08 : 星期日
2013/09/09 : 星期一
2013/09/10 : 星期二
2013/09/11 : 星期三
2013/09/12 : 星期四
2013/09/13 : 星期五
2013/09/14 : 星期六
2013/09/15 : 星期日
2013/09/16 : 星期一
2013/09/17 : 星期二
2013/09/18 : 星期三
2013/09/19 : 星期四
2013/09/20 : 星期五
2013/09/21 : 星期六
2013/09/22 : 星期日
2013/09/23 : 星期一
2013/09/24 : 星期二
2013/09/25 : 星期三
2013/09/26 : 星期四
2013/09/27 : 星期五
2013/09/28 : 星期六
2013/09/29 : 星期日
2013/09/30 : 星期一
❾ java怎麼獲取上周一之周五的每一天日期
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
publicclassDemo{
publicstaticvoidmain(String[]args){
//日期格式轉換
SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd");
//當前日期
Calendarinstance=Calendar.getInstance();
//調整到上周
instance.add(Calendar.WEDNESDAY,-1);
//調整到上周1
instance.set(Calendar.DAY_OF_WEEK,2);
//循環列印
for(inti=1;i<=5;i++){
System.out.println("星期"+i+":"+format.format(instance.getTime()));
instance.add(Calendar.DAY_OF_WEEK,1);
}
}
}
❿ java怎麼獲取本周一到周末時間
/**
*獲取上周五時間
*/
publicDatelastFirday(){
//作用防止周日得到本周日期
Calendarcalendar=Calendar.getInstance();
while(calendar.get(Calendar.DAY_OF_WEEK)!=Calendar.MONDAY){
calendar.add(Calendar.DAY_OF_WEEK,-1);
}
intdayOfWeek=calendar.get(Calendar.DAY_OF_WEEK)-1;
intoffset=7-dayOfWeek;
calendar.add(Calendar.DATE,offset-9);
returnDateTimeUtil.getFirstDayOfWeek(calendar.getTime(),6);//這是從上周日開始數的到本周五為6
}
/**
*獲取上周一時間
*/
publicDatelastMonday(){
Calendarcalendar=Calendar.getInstance();
while(calendar.get(Calendar.DAY_OF_WEEK)!=Calendar.MONDAY){
calendar.add(Calendar.DAY_OF_WEEK,-1);
}
intdayOfWeek=calendar.get(Calendar.DAY_OF_WEEK)-1;
intoffset=1-dayOfWeek;
calendar.add(Calendar.DATE,offset-7);
returnDateTimeUtil.getFirstDayOfWeek(calendar.getTime(),2);
}