我是靠谱客的博主 爱听歌西牛,最近开发中收集的这篇文章主要介绍时间工具类:格式化、本周、本月、本季度时间导入1、时间处理(DateTimeUtils),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

导入

手动下载

gradle方式

compile group:'com.gitee.zhtt',name:'great-javautils',version:'8.0.1-alpha.3'

maven方式

<dependency>
<groupId>com.gitee.zhtt</groupId>
<artifactId>great-javautils</artifactId>
<version>8.0.1-alpha.3</version>
</dependency>

1、时间处理(DateTimeUtils)

1.1、获取当前时间

 @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));
}

打印结果

默认格式化:2019-07-08 15:39:10
指定格式化:2019年07月08日
指定格式化:2019年07月08日 15时39分10秒

1.2、格式化

如果输入的是字符串则转为日期类型,反之则转为字符串类型。

@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();
}
}

打印结果

Sun Jul 07 00:00:00 CST 2019
2019-07-08 15:52:41
2019-07-08 15:52

1.3、格式化

有时用户提供的数据比较随意,当需要导入此类数据时,需要手动判断进行日期转换,如下可方便的进行日期格式转换:


@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));
}
}

打印结果

2019 => 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天的开始时间。

@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);
}

打印结果

当天开始时间: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周的开始时间。

@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);
}

打印结果

本周开始时间:2019-07-08 00:00:00
上周的开始时间:2019-07-01 00:00:00
下周的开始时间:2019-07-15 00:00:00

1.6、某月开始时间:getMonthStartTime(param)

未传参数返回本月开始时间,传入正数返回本月之后第N月的开始时间,传入负数返回本月之前第N月的开始时间。

@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);
}

打印结果

本月开始时间:2019-07-01 00:00:00
上月的开始时间:2019-08-01 00:00:00
下月的开始时间:2019-06-01 00:00:00

1.7、某季度开始时间:getQuarterStartTime(param)

未传参数返回本季度开始时间,传入正数返回本季度之后第N季度的开始时间,传入负数返回本季度之前第N季度的开始时间。

@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);
}

打印结果

本季度开始时间:2019-07-01 00:00:00
上季度的开始时间:2019-04-01 00:00:00
下季度的开始时间:2019-10-01 00:00:00

1.7、某季度开始时间:getQuarterStartTime(param)

未传参数返回本季度开始时间,传入正数返回本季度之后第N季度的开始时间,传入负数返回本季度之前第N季度的开始时间。


@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);
}

打印结果

本季度开始时间:2019-07-01 00:00:00
上季度的开始时间:2019-04-01 00:00:00
下季度的开始时间:2019-10-01 00:00:00

1.8、某年开始时间:getYearStartTime(param)

未传参数返回本年开始时间,传入正数返回本年之后第N年的开始时间,传入负数返回本年之前第N年的开始时间。

 @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);
}

打印结果

本年开始时间:2019-01-01 00:00:00
上年的开始时间:2018-01-01 00:00:00
下年的开始时间:2020-01-01 00:00:00

 

最后

以上就是爱听歌西牛为你收集整理的时间工具类:格式化、本周、本月、本季度时间导入1、时间处理(DateTimeUtils)的全部内容,希望文章能够帮你解决时间工具类:格式化、本周、本月、本季度时间导入1、时间处理(DateTimeUtils)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部