原来开发里很少有时间相关的开发任务,Calendar日历类用的太少,随手写的记录一下。
需求:判断用户当周是否已经提交过数据,按周一至周日为一周期来算文章来源:https://www.toymoban.com/news/detail-516173.html
public static void main(String[] args) throws Exception {
// 设定时间值
String dateStr = "2023-01-01";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = simpleDateFormat.parse(dateStr);
// 转为calendar格式
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// 如果是周日
if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
calendar.add(Calendar.DAY_OF_YEAR,-1);
}
/**
* calendar.get(Calendar.MONTH)+1 calendar中的月份以0开头
* Calendar.DAY_OF_WEEK 当前日期是所在周的第几天(以周日为一周的第一天)
* Calendar.DATE 当前日期是几号
* */
// 获取当前日期是当周的第i天
int i = calendar.get(Calendar.DAY_OF_WEEK) - 1;
// 获取当前日期所在周的第一天
calendar.add(Calendar.DATE , -i+1);
System.out.println("当前日期所在周的周一是:" + new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
// 获取当前日期所在周的最后一天
calendar.add(Calendar.DATE, 6);
System.out.println("当前日期所在周的周日是:" + new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
}
参考:Java最准确的获取当前一周开始时间和结束时间文章来源地址https://www.toymoban.com/news/detail-516173.html
到了这里,关于Java获取指定日期所在周的周一和周日的日期的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!