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 获取昨天,上个星期一,本月开始时间戳,怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)