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];
}
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];
}
相关文章推荐
- java对日期的一些操作
- java 关于使用java1.8的localDateTime日期操作的基本使用以及一些使用技巧 持续更新...
- 整理的一些常用的Java日期时间上面的操作
- java中的System类的一些应用和日期的操作实例
- Java日期时间操作的一些方法
- 关于java时间与日期的一些操作
- 处理java日期的一些操作
- Java中的一些日期操作
- (转)java中对于文件属性的一些操作
- Java 中对日期的操作
- 用JAVA操作日期类型
- 收藏:java中关于时间日期操作的常用函数
- JAVA日期操作
- java中关于时间日期操作地常用函数
- Java日期操作常用方法
- java中对日期的加减操作
- JAVA中的日期时间操作
- java中关于时间日期操作的常用函数
- java中关于时间日期操作的常用函数
- Java中一些关于日期、日期格式、日期的解析和日期的计算