下面是关于Java 8 Instant时间及转换操作的完整攻略。
什么是Java 8 Instant时间?
Java 8为我们提供了强大的日期时间API,其中一个类是Instant类。Instant是表示时间线上某个时间点的类。它可以理解为GMT上的纪元时间(1970年1月1日00:00:00)与一定时间段的总和,并且以秒为单位进行存储。
在Java中,我们可以通过以下代码获取当前的Instant实例:
Instant instant = Instant.now();
Instant与时间戳的转换
- Instant转时间戳
Instant类提供了一个toEpochMilli()
方法,通过调用该方法可以返回一个以毫秒为单位的时间戳。以下示例代码演示了Instant实例与时间戳之间的转换:
Instant instant = Instant.now();
// Instant转时间戳
long timestamp = instant.toEpochMilli();
System.out.println("当前时间戳为:" + timestamp);
输出:
当前时间戳为:1624564736884
- 时间戳转Instant
我们可以使用静态的ofEpochMilli()
方法将毫秒级时间戳转为Instant。以下示例代码演示了如何将时间戳转换为Instant:
long timestamp = 1624564736884L;
// 时间戳转Instant
Instant instant = Instant.ofEpochMilli(timestamp);
System.out.println("Instant时间为:" + instant);
输出:
Instant时间为:2021-06-24T06:38:56.884Z
Instant与时间字符串相互转换
Instant类提供了一个parse方法,可以将时间字符串转换为Instant实例,而DateTimeFormatter则可以控制时间字符串的格式。以下是一些常用的DateTimeFormatter格式示例:
yyyy-MM-dd
、yyyy/MM/dd
:年月日格式yyyy-MM-dd HH:mm:ss
、yyyy/MM/dd HH:mm:ss
:年月日时分秒格式-
yyyy-MM-dd HH:mm:ss.SSS
、yyyy/MM/dd HH:mm:ss.SSS
:年月日时分秒毫秒格式 -
Instant转时间字符串
使用DateTimeFormatter的format()
方法可以将Instant转换为时间字符串。以下示例代码将当前时间转换为以"yyyy-MM-dd HH:mm:ss"为格式的时间字符串:
Instant instant = Instant.now();
// Instant转时间字符串
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String instantStr = formatter.format(instant);
System.out.println("时间字符串为:" + instantStr);
输出:
时间字符串为:2021-06-24 06:38:56
- 时间字符串转Instant
使用Instant的parse()方法可以将时间字符串转换为Instant实例。以下示例代码演示了如何将时间字符串转换为Instant:
String instantStr = "2021-06-24 06:38:56";
// 时间字符串转Instant
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
Instant instant = Instant.parse(instantStr, formatter);
System.out.println("Instant时间为:" + instant);
输出:
Instant时间为:2021-06-24T06:38:56Z
至此,本文介绍了Instant时间及转换操作的完整攻略,并提供了两个示例,希望对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java8 Instant 时间及转换操作 - Python技术站