java 一年的第一周从2月1号开始,获取今年的第三周的星期一,以及去年第三周的星期一 对应的日期

java 一年的第一周从2月1号开始,获取今年的第三周的星期一,以及去年第三周的星期一 对应的日期,第1张

public getWeekCount(Date date){ // 获取日历类实例 javautilCalendar calendar = javautilCalendargetInstance(); // 设置时间 calendarsetTime(date); // 设置周一为每周第一天 calendarsetFirstDayOfWeek(javautilCalendarMONDAY); // 返回当年最大周数 return calendargetActualMaximum(javautilCalendarWEEK_OF_YEAR);}

import javatextSimpleDateFormat;

import javautilCalendar;

public class Demo {

public static void main(String[] args) {

// 日期格式转换

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

// 当前日期

Calendar instance = CalendargetInstance();

// 调整到上周

instanceadd(CalendarWEDNESDAY, -1);

// 调整到上周1

instanceset(CalendarDAY_OF_WEEK, 2);

//循环打印

for (int i = 1; i <= 5; i++) {

Systemoutprintln("星期" + i + ":" + formatformat(instancegetTime()));

instanceadd(CalendarDAY_OF_WEEK, 1);

}

}

}

昨天

Date date=new Date();//取时间

Calendar calendar = new GregorianCalendar();

calendarsetTime(date);

calendaradd(calendarDATE,-1);//把日期往后增加一天整数往后推,负数往前移动

date=calendargetTime(); //这个时间就是日期往后推一天的结果

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

String dateString = formatterformat(date);

Systemoutprintln(dateString);

星期一

Calendar cal = CalendargetInstance();

int n = calget(CalendarDAY_OF_WEEK) - 1;

if (n == 0) {

    n = 7;

}

caladd(CalendarDATE, -(7 + (n - 1)));// 上周一的日期

Date monday = calgetTime();

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

String dateString = formatterformat(monday);

Systemoutprintln(dateString);

本月开始时间

Calendar   cal_1=CalendargetInstance();//获取当前日期 

cal_1add(CalendarMONTH, -1);

cal_1set(CalendarDAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 

String firstDay = formatformat(cal_1getTime());

Systemoutprintln("-----1------firstDay:"+firstDay);

public static void main(String[] args) {

Calendar calendar1 = CalendargetInstance();

Calendar calendar2 = CalendargetInstance();

int dayOfWeek=calendar1get(CalendarDAY_OF_WEEK)-1;

int offset1=1-dayOfWeek;

int offset2=7-dayOfWeek;

calendar1add(CalendarDATE, offset1-7);

calendar2add(CalendarDATE, offset2-7);

Systemoutprintln(calendar1getTime());//last Monday

Systemoutprintln(calendar2getTime());//last Sunday

}

public getWeekCount(Date date){

    // 获取日历类实例

    javautilCalendar calendar = javautilCalendargetInstance();

    // 设置时间

    calendarsetTime(date);

    // 设置周一为每周第一天

    calendarsetFirstDayOfWeek(javautilCalendarMONDAY);

    

    // 返回当年最大周数

    return calendargetActualMaximum(javautilCalendarWEEK_OF_YEAR);

}

你第一问需要思考一下,你第二问日历类直接get即可!

第一问:

年末与年初进行周与周重叠的时候,获取的是第二年的第一周数字,这个时候其实很简单,因为月份是绝对不相同的对不

直接判断月份即可,头年月份肯定不会第二年月份想等,在同时判断一下,周是否为1,条件同时达到,就叠加52即可!

截个图,你参照日历看一下,分毫不差:

以上就是关于java 一年的第一周从2月1号开始,获取今年的第三周的星期一,以及去年第三周的星期一 对应的日期 全部的内容,包括:java 一年的第一周从2月1号开始,获取今年的第三周的星期一,以及去年第三周的星期一 对应的日期 、java怎么获取上周一之周五的每一天日期、java 获取昨天,上个星期一,本月开始时间戳,怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10160810.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存