Java8生成时间方式及格式化时间的方法实例
本文将介绍Java8生成时间的几种方式,以及如何利用DateTimeFormatter对时间进行格式化。
生成时间的方式
Java8提供了3种生成时间的方式:
1. 使用now()
静态方法生成当前时间
2. 使用of()
静态方法生成指定时间
3. 使用parse()
静态方法解析字符串生成时间
生成当前时间
可以使用java.time
包下的LocalDateTime
类来获得当前的日期和时间:
LocalDateTime now = LocalDateTime.now();
System.out.println("当前时间: " + now);
输出结果如下:
当前时间: 2022-07-27T16:47:25.972
生成指定时间
可以使用of()
方法指定年月日时分秒来生成时间:
LocalDateTime customTime = LocalDateTime.of(2021, 1, 1, 0, 0, 0);
System.out.println("指定时间: " + customTime);
输出结果如下:
指定时间: 2021-01-01T00:00
解析字符串生成时间
可以使用parse()
方法将字符串解析为时间对象:
LocalDateTime parseTime = LocalDateTime.parse("2021-01-01T12:00:00",DateTimeFormatter.ISO_DATE_TIME);
System.out.println("解析时间: " + parseTime);
输出结果如下:
解析时间: 2021-01-01T12:00
格式化时间
Java8中提供了DateTimeFormatter
类来格式化时间。
常用格式化方式
可以使用DateTimeFormatter
类中的静态常量来方便地进行常用格式的输出:
LocalDateTime now = LocalDateTime.now();
String timeStr = now.format(DateTimeFormatter.ISO_DATE_TIME);
System.out.println("时间格式1: " + timeStr);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
String formattedTime = now.format(formatter);
System.out.println("时间格式2: " + formattedTime);
输出结果如下:
时间格式1: 2022-07-27T16:47:25.972
时间格式2: 2022/07/27 16:47:25
自定义格式化方式
也可以自定义格式化方式:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
String formattedTime = now.format(formatter);
System.out.println("时间格式3: " + formattedTime);
输出结果如下:
时间格式3: 2022-07-27 16:47:25.971
实例示例
示例1:计算两个时间之间的时间差
LocalDateTime startTime = LocalDateTime.parse("2022-01-01T00:00:00",DateTimeFormatter.ISO_DATE_TIME);
LocalDateTime endTime = LocalDateTime.now();
Duration duration = Duration.between(startTime, endTime);
System.out.println("时间差: " + duration.toDays() + "天");
可以得到从2022年1月1日到现在的天数。
示例2:获取指定时间N天后的日期
LocalDateTime customTime = LocalDateTime.of(2021, 1, 1, 0, 0, 0);
int addDays = 7;
LocalDateTime addedTime = customTime.plusDays(addDays);
System.out.println(addDays + "天后的日期: " + addedTime.format(DateTimeFormatter.ISO_DATE));
可以得到2021年1月8日的日期。
总结
本文介绍了Java8生成时间的几种方式,以及如何利用DateTimeFormatter对时间进行格式化。同时,也给出了两个实例来帮助理解这些操作的具体应用场景。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java8生成时间方式及格式化时间的方法实例 - Python技术站