use of cn.hutool.core.date.Quarter in project springboot-templet-start by thedestiny.
the class HutoolTestCase method test003.
/**
* 时间相关
* DateUtil.parse方法会自动识别一些常用格式,包括:
* yyyy-MM-dd HH:mm:ss
* yyyy-MM-dd
* HH:mm:ss
* yyyy-MM-dd HH:mm
* yyyy-MM-dd HH:mm:ss.SSS
*/
@Test
public void test003() {
// 当前时间
Date date = DateUtil.date();
// 当前时间
Date date2 = DateUtil.date(Calendar.getInstance());
// 当前时间
Date date3 = DateUtil.date(System.currentTimeMillis());
// 当前时间字符串,格式:yyyy-MM-dd HH:mm:ss
String now = DateUtil.now();
// 当前日期字符串,格式:yyyy-MM-dd
String today = DateUtil.today();
String dateStr = "2017-03-01";
Date date5 = DateUtil.parse(dateStr);
String dateStr1 = "2017-03-01";
Date date6 = DateUtil.parse(dateStr1, "yyyy-MM-dd");
String dateStr3 = "2017-03-01";
Date date7 = DateUtil.parse(dateStr);
// 结果 2017/03/01
String format = DateUtil.format(date, "yyyy/MM/dd");
// 常用格式的格式化,结果:2017-03-01
String formatDate = DateUtil.formatDate(date);
// 结果:2017-03-01 00:00:00
String formatDateTime = DateUtil.formatDateTime(date);
// 结果:00:00:00
String formatTime = DateUtil.formatTime(date);
// 获得年的部分
DateUtil.year(date);
// 获得月份,从0开始计数
DateUtil.month(date);
// 获得月份枚举
DateUtil.monthEnum(date);
String dateStr4 = "2017-03-01 22:33:23";
Date date8 = DateUtil.parse(dateStr4);
/**
* 可以获取 一分的开始 一个小时的开始 一天 一周 一月 一个季度 一年
*/
// 一天的开始,结果:2017-03-01 00:00:00
Date beginOfDay = DateUtil.beginOfDay(date8);
// 一天的结束,结果:2017-03-01 23:59:59
Date endOfDay = DateUtil.endOfDay(date8);
String dateStr7 = "2017-03-01 22:33:23";
Date date9 = DateUtil.parse(dateStr7);
// 结果:2017-03-03 22:33:23
Date newDate = DateUtil.offset(date, DateField.DAY_OF_MONTH, 2);
// 常用偏移,结果:2017-03-04 22:33:23
DateTime newDate2 = DateUtil.offsetDay(date, 3);
// 常用偏移,结果:2017-03-01 19:33:23
DateTime newDate3 = DateUtil.offsetHour(date, -3);
// 昨天
DateUtil.yesterday();
// 明天
DateUtil.tomorrow();
// 上周
DateUtil.lastWeek();
// 下周
DateUtil.nextWeek();
// 上个月
DateUtil.lastMonth();
// 下个月
DateUtil.nextMonth();
String dateStr11 = "2017-03-01 22:33:23";
Date date11 = DateUtil.parse(dateStr11);
String dateStr2 = "2017-04-01 23:33:23";
Date date12 = DateUtil.parse(dateStr2);
// 相差一个月,31天
long betweenDay = DateUtil.between(date11, date12, DateUnit.DAY);
// Level.MINUTE表示精确到分
// String formatBetween = DateUtil.formatBetween(date11, date12, BetweenFormater.Level.MINUTE);
TimeInterval timer = DateUtil.timer();
// ---------------------------------
// -------这是执行过程
// ---------------------------------
// 花费毫秒数
timer.interval();
// 返回花费时间,并重置开始时间
timer.intervalRestart();
// 花费分钟数
timer.intervalMinute();
DateTime dateTime = new DateTime("2017-01-05 12:34:23", DatePattern.NORM_DATETIME_FORMAT);
// 结果:2017-01-05 12:34:23
String dateStr33 = dateTime.toString();
// 年,结果:2017
int year = dateTime.year();
// 季度(非季节),结果:Season.SPRING
Quarter season = dateTime.quarterEnum();
// 月份,结果:Month.JANUARY
Month month = dateTime.monthEnum();
// 日,结果:5
int day = dateTime.dayOfMonth();
// 默认情况下DateTime为可变对象,此时offsite == dateTime
DateTime offsite = dateTime.offset(DateField.YEAR, 0);
// 设置为不可变对象后变动将返回新对象,此时offsite != dateTime
dateTime.setMutable(false);
offsite = dateTime.offset(DateField.YEAR, 0);
}