- 转化为Date类型
String str = "2021-09-15 13:30:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);
Date date = Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant());
将字符串类型的时间转化为Date类型,需要先将字符串按照指定格式转为LocalDateTime类型,然后再将其转为Instant类型,最后使用Date.from()方法将其转为Date类型。
- 转化为时间戳
String str = "2021-09-15 13:30:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);
long timestamp = dateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
将时间转化为时间戳,需要先将字符串按照指定格式转为LocalDateTime类型,再将其转为Instant类型,并设置时区为东八区(GMT+8),最后使用toEpochMilli()方法将其转为时间戳。
- 转化为时间间隔
String str1 = "2021-09-15 00:00:00";
String str2 = "2021-09-16 00:00:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime1 = LocalDateTime.parse(str1, formatter);
LocalDateTime dateTime2 = LocalDateTime.parse(str2, formatter);
Duration duration = Duration.between(dateTime1, dateTime2);
System.out.println(duration.toDays()); //输出1
将两个时间转化为时间间隔,需要将其分别转为LocalDateTime类型,然后使用Duration.between()方法获取它们之间的时间间隔,最后可以使用toDays()、toHours()、toMinutes()等方法获取不同时间单位的时间差。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:总结Java常用的时间相关转化 - Python技术站