1.获取本周时间段的时间
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int weekNum = 0;
// 一周的第一天是否是星期天
boolean weekDay = calendar.getFirstDayOfWeek() == Calendar.SUNDAY;
if (weekDay) {
weekNum = calendar.get(Calendar.DAY_OF_WEEK) - 1;
if (weekNum == 0) {
weekNum = 7;
}
}
//yyyy-MM-dd hh:mm:ss是12小时制,yyyy-MM-dd kk:mm:ss 是24小时制
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
//当前时间
int hours = (date.getHours()) * 60 * 60 * 1000;
//当前分钟
int minutes = date.getMinutes() * 60 * 1000;
//当前秒
int seconds = date.getSeconds() * 1000;
//当前日期减去星期几,星期一就减去1天,星期二就减去两天以此类推,再减去当前时分秒就能得到这
//周第一天00:00:00时间
String format = dateFormat.format
(new Date(date.getTime() - (long) (weekNum+1) * 24 * 60 * 60 * 1000 - hours -
minutes - seconds));
2.获取当前月的时间段
//yyyy-MM-dd hh:mm:ss是12小时制,yyyy-MM-dd kk:mm:ss 是24小时制
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
//获取当前时间
String currentTime = dateFormat.format(new Date());
//截取日期
String substring = currentTime.substring(8, 10);
//转换为int类型用来计算
int dateNow=Integer.parseInt(substring);
Date date = new Date();
//当前时间
int hours = (date.getHours()) * 60 * 60 * 1000;
//当前分钟
int minutes = date.getMinutes() * 60 * 1000;
//当前秒
int seconds = date.getSeconds() * 1000;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
return dateFormat.format(new Date(date.getTime() - (long) (dateNow) * 24 * 60 * 60
* 1000 - hours - minutes - seconds));
2022-06-30 24:00:00就是2022-07-01 00:00:00
3.获取当季的时间段
//yyyy-MM-dd hh:mm:ss是12小时制,yyyy-MM-dd kk:mm:ss 是24小时制
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
//获取当前日期
String currentTime = dateFormat.format(new Date());
//获取当前年
String year=currentTime.substring(0,4);
//获取当前月
String substring = currentTime.substring(5, 7);
String startTime="";
switch (substring) {
case "01":
case "02":
case "03":
//如果是1,2,3月那起始月为:当前年-01-01
startTime = year + "-01-01 00:00:00";
break;
case "04":
case "05":
case "06":
//如果是4,5,6月那起始月为:当前年-04-01
startTime = year + "-04-01 00:00:00";
break;
case "07":
case "08":
case "09":
//如果是7,8,9月那起始月为:当前年-07-01
startTime = year + "-07-01 00:00:00";
break;
case "10":
case "11":
case "12":
//如果是10,11,12月那起始月为:当前年-10-01
startTime = year + "-010-01 00:00:00";
break;
}
4.获取当前年的时间段
//yyyy-MM-dd hh:mm:ss是12小时制,yyyy-MM-dd kk:mm:ss 是24小时制
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
//获取当前时间
String currentTime = dateFormat.format(new Date());
//截取当前年
String substring=currentTime.substring(0,4);
//拼接上01-01 00:00:00
String startTime=substring+"-01-01 00:00:00";
这样就可以获取倒本年的开始,本季的开始,本月的开始,本周的开始
版权声明:本文为qingqingyyds原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。