您的位置:首页 > 编程语言 > Java开发

java之日期的一些操作

2017-02-27 18:05 302 查看
@Test
public void testDate() throws Exception {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 获取两个时间点的小时差
logger.info("获取两个时间点的小时差: " + DateUtils.getHoursByTimeDifference(new Date(), sdf.parse("2017-06-10 16:55:55")));
// 获取当前时间的前3天
calendar.add(Calendar.DAY_OF_MONTH, -3);
logger.info("获取当前时间的前3天: " + sdf.format(calendar.getTime()));
// 获取当月的第一天
calendar.setTime(new Date());
calendar.set(Calendar.DAY_OF_MONTH, 1);
logger.info("获取当月的第一天: " + sdf.format(calendar.getTime()));
// 获取当月的最后一天
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
logger.info("获取当月的最后一天: " + sdf.format(calendar.getTime()));
// 获取本季度的第一天
calendar.setTime(new Date());
int month = getQuarterInMonth(calendar.get(Calendar.MONTH), true);
calendar.set(Calendar.MONTH, month - 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
logger.info("获取本季度的第一天: " + sdf.format(calendar.getTime()));

}

private static int getQuarterInMonth(int month, boolean isQuarterStart) {
int months[] = { 1, 4, 7, 10 };
if (!isQuarterStart) {
months = new int[] { 3, 6, 9, 12 };
}
if (month >= 2 && month <= 4)
return months[0];
else if (month >= 5 && month <= 7)
return months[1];
else if (month >= 8 && month <= 10)
return months[2];
else
return months[3];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  日期操作 DateUtil