我是靠谱客的博主 冷艳水池,最近开发中收集的这篇文章主要介绍获取两个日期的周数并记录周开始日期和周结束日期,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

String start = "2017-01-27";
String end = "2017-12-27"
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if( list != null && list.size() == 1){
for (Map map : list) {
long CONST_WEEK = 1000 * 3600 * 24 * 7;//一周毫秒数
try {
Date start =
sdf.parse(start );
Date end =
sdf.parse(end );
Calendar startCal = Calendar.getInstance();
startCal.setTime(start);
Calendar endCal = Calendar.getInstance();
endCal.setTime(end);
Date now = new Date();
Calendar nowCal = Calendar.getInstance();
nowCal.setTime(now);
//查找开始日期的那个星期的第一天
int dayOfWeek = startCal.get(Calendar.DAY_OF_WEEK);
startCal.add(Calendar.DATE, -(dayOfWeek -1));//周日是第一天 所以-1
//查找结束日期的那个星期的第一天
dayOfWeek = endCal.get(Calendar.DAY_OF_WEEK);
endCal.add(Calendar.DATE, 7-(dayOfWeek-1));
//计算总共多少周
int total = (int) ((endCal.getTimeInMillis() - startCal.getTimeInMillis()) / CONST_WEEK);
for (int i = 0; i < total ;i++ ) {
HashMap<String, String> week = new HashMap<String, String>();
week.put("index", String.valueOf(i+1));
week.put("title", "第"+(i+1)+"周");
startCal.add(Calendar.DATE, 1);
String time = sdf.format(startCal.getTime());//第一天
startCal.add(Calendar.DATE, 6);
time += "~"+sdf.format(startCal.getTime());//最后一天
week.put("time", time);
weeks.add(week);
}
} catch (ParseException e) {
e.printStackTrace();
}
}

最后

以上就是冷艳水池为你收集整理的获取两个日期的周数并记录周开始日期和周结束日期的全部内容,希望文章能够帮你解决获取两个日期的周数并记录周开始日期和周结束日期所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部