导入
手动下载
gradle方式
复制代码
1compile group:'com.gitee.zhtt',name:'great-javautils',version:'8.0.1-alpha.3'
maven方式
复制代码
1
2
3
4
5<dependency> <groupId>com.gitee.zhtt</groupId> <artifactId>great-javautils</artifactId> <version>8.0.1-alpha.3</version> </dependency>
1、时间处理(DateTimeUtils)
1.1、获取当前时间
复制代码
1
2
3
4
5
6
7
8@Test public void getTime(){ //获取当前时间 Date date = DateTimeUtils.getTime(); System.out.printf("默认格式化:%sn",DateTimeUtils.format(date)); System.out.printf("指定格式化:%sn",DateTimeUtils.format(date,"yyyy年MM月dd日")); System.out.printf("指定格式化:%sn",DateTimeUtils.format(date,DateTimeUtils.ymdhms_cn)); }
打印结果
复制代码
1
2
3默认格式化:2019-07-08 15:39:10 指定格式化:2019年07月08日 指定格式化:2019年07月08日 15时39分10秒
1.2、格式化
如果输入的是字符串则转为日期类型,反之则转为字符串类型。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16@Test public void format(){ //格式化 String dateStr = "2019-07-07"; Date date = new Date(); try { Object format1 = DateTimeUtils.format(dateStr); Object format2 = DateTimeUtils.format(date); Object format3 = DateTimeUtils.format(date,DateTimeUtils.ymdhm); System.out.println(format1); System.out.println(format2); System.out.println(format3); } catch (ParseException e) { e.printStackTrace(); } }
打印结果
复制代码
1
2
3Sun Jul 07 00:00:00 CST 2019 2019-07-08 15:52:41 2019-07-08 15:52
1.3、格式化
有时用户提供的数据比较随意,当需要导入此类数据时,需要手动判断进行日期转换,如下可方便的进行日期格式转换:
复制代码
1
2
3
4
5
6
7
8
9
10@Test public void format2() throws ParseException { //格式化 String[] dateStrs = {"2019", "2019-07", "2019-07-07", "2019-07-07 11", "2019-07-07 11:22", "2019-07-07 11:22:11", "2019年11月07日", "2019年11月07日 12时"}; for(String str:dateStrs){ Date date = DateTimeUtils.format(str); System.out.println(str+" => "+DateTimeUtils.format(date)); } }
打印结果
复制代码
1
2
3
4
5
6
7
82019 => 2019-01-01 00:00:00 2019-07 => 2019-07-01 00:00:00 2019-07-07 => 2019-07-07 00:00:00 2019-07-07 11 => 2019-07-07 11:00:00 2019-07-07 11:22 => 2019-07-07 11:22:00 2019-07-07 11:22:11 => 2019-07-07 11:22:11 2019年11月07日 => 2019-11-07 00:00:00 2019年11月07日 12时 => 2019-11-07 12:00:00
1.4、某天开始时间:getDayStartTime(param)
未传参数返回当天开始时间,传入正数返回当天之后第N天的开始时间,传入负数返回当天之前第N天的开始时间。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20@Test public void getDayStartTime() throws ParseException { //当天开始时间 Date start1 = DateTimeUtils.getDayStartTime(); String start1Str = DateTimeUtils.format(start1); //某天开始时间 Date start2 = DateTimeUtils.format("2019-07-07 12:22:22"); Date start2date = DateTimeUtils.getDayStartTime(start2); String start2Str = DateTimeUtils.format(start2date); //30天后的开始时间 Date start3 = DateTimeUtils.getDayStartTime(30); String start3Str = DateTimeUtils.format(start3); //30天前的开始时间 Date start4 = DateTimeUtils.getDayStartTime(-30); String start4Str = DateTimeUtils.format(start4); System.out.println("当天开始时间:"+start1Str); System.out.println("某天开始时间:"+start2Str); System.out.println("30天后的开始时间:"+start3Str); System.out.println("30天前的开始时间:"+start4Str); }
打印结果
复制代码
1
2
3
4当天开始时间:2019-07-08 00:00:00 某天开始时间:2019-07-07 00:00:00 30天后的开始时间:2019-08-07 00:00:00 30天前的开始时间:2019-06-08 00:00:00
1.5、某周开始时间:getWeekStartTime(param)
未传参数返回本周开始时间,传入正数返回本周之后第N周的开始时间,传入负数返回本周之前第N周的开始时间。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15@Test public void getWeekStartTime(){ //本周开始时间 Date start1 = DateTimeUtils.getWeekStartTime(); String start1Str = DateTimeUtils.format(start1); System.out.println("本周开始时间:"+start1Str); //上周的开始时间 Date start3 = DateTimeUtils.getWeekStartTime(1); String start3Str = DateTimeUtils.format(start3); System.out.println("上周的开始时间:"+start3Str); //下周的开始时间 Date start4 = DateTimeUtils.getWeekStartTime(-1); String start4Str = DateTimeUtils.format(start4); System.out.println("下周的开始时间:"+start4Str); }
打印结果
复制代码
1
2
3本周开始时间:2019-07-08 00:00:00 上周的开始时间:2019-07-01 00:00:00 下周的开始时间:2019-07-15 00:00:00
1.6、某月开始时间:getMonthStartTime(param)
未传参数返回本月开始时间,传入正数返回本月之后第N月的开始时间,传入负数返回本月之前第N月的开始时间。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15@Test public void getMonthStartTime(){ //本月开始时间 Date start1 = DateTimeUtils.getMonthStartTime(); String start1Str = DateTimeUtils.format(start1); System.out.println("本月开始时间:"+start1Str); //上月的开始时间 Date start3 = DateTimeUtils.getMonthStartTime(1); String start3Str = DateTimeUtils.format(start3); System.out.println("上月的开始时间:"+start3Str); //下月的开始时间 Date start4 = DateTimeUtils.getMonthStartTime(-1); String start4Str = DateTimeUtils.format(start4); System.out.println("下月的开始时间:"+start4Str); }
打印结果
复制代码
1
2
3本月开始时间:2019-07-01 00:00:00 上月的开始时间:2019-08-01 00:00:00 下月的开始时间:2019-06-01 00:00:00
1.7、某季度开始时间:getQuarterStartTime(param)
未传参数返回本季度开始时间,传入正数返回本季度之后第N季度的开始时间,传入负数返回本季度之前第N季度的开始时间。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15@Test public void getQuarterStartTime(){ //本季度开始时间 Date start1 = DateTimeUtils.getQuarterStartTime(); String start1Str = DateTimeUtils.format(start1); System.out.println("本季度开始时间:"+start1Str); //上季度的开始时间 Date start3 = DateTimeUtils.getQuarterStartTime(-1); String start3Str = DateTimeUtils.format(start3); System.out.println("上季度的开始时间:"+start3Str); //下季度的开始时间 Date start4 = DateTimeUtils.getQuarterStartTime(1); String start4Str = DateTimeUtils.format(start4); System.out.println("下季度的开始时间:"+start4Str); }
打印结果
复制代码
1
2
3本季度开始时间:2019-07-01 00:00:00 上季度的开始时间:2019-04-01 00:00:00 下季度的开始时间:2019-10-01 00:00:00
1.7、某季度开始时间:getQuarterStartTime(param)
未传参数返回本季度开始时间,传入正数返回本季度之后第N季度的开始时间,传入负数返回本季度之前第N季度的开始时间。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16@Test public void getQuarterStartTime(){ //本季度开始时间 Date start1 = DateTimeUtils.getQuarterStartTime(); String start1Str = DateTimeUtils.format(start1); System.out.println("本季度开始时间:"+start1Str); //上季度的开始时间 Date start3 = DateTimeUtils.getQuarterStartTime(-1); String start3Str = DateTimeUtils.format(start3); System.out.println("上季度的开始时间:"+start3Str); //下季度的开始时间 Date start4 = DateTimeUtils.getQuarterStartTime(1); String start4Str = DateTimeUtils.format(start4); System.out.println("下季度的开始时间:"+start4Str); }
打印结果
复制代码
1
2
3本季度开始时间:2019-07-01 00:00:00 上季度的开始时间:2019-04-01 00:00:00 下季度的开始时间:2019-10-01 00:00:00
1.8、某年开始时间:getYearStartTime(param)
未传参数返回本年开始时间,传入正数返回本年之后第N年的开始时间,传入负数返回本年之前第N年的开始时间。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15@Test public void getYearStartTime(){ //本季度开始时间 Date start1 = DateTimeUtils.getYearStartTime(); String start1Str = DateTimeUtils.format(start1); System.out.println("本年开始时间:"+start1Str); //上季度的开始时间 Date start3 = DateTimeUtils.getYearStartTime(-1); String start3Str = DateTimeUtils.format(start3); System.out.println("上年的开始时间:"+start3Str); //下季度的开始时间 Date start4 = DateTimeUtils.getYearStartTime(1); String start4Str = DateTimeUtils.format(start4); System.out.println("下年的开始时间:"+start4Str); }
打印结果
复制代码
1
2
3本年开始时间:2019-01-01 00:00:00 上年的开始时间:2018-01-01 00:00:00 下年的开始时间:2020-01-01 00:00:00
最后
以上就是爱听歌西牛最近收集整理的关于时间工具类:格式化、本周、本月、本季度时间导入1、时间处理(DateTimeUtils)的全部内容,更多相关时间工具类内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复