以下是关于日常使用的LocalDateTime的一些转换
由于日常编程时经常使用LocalDateTime做一些转换,但是时长不记得如何转换,为此文章做以下记录,提供
有其他例子的同学可以留言或者私信,我看到会加入文章当中,提供大家查看。同时希望欢迎大家一起探讨技术。
1.把秒 转成LocalDateTime (时区:东八区/北京时间, 以下没有明确时区都是默认东八区)
long second = 1000000000;
LocalDateTime gpsDateTime = LocalDateTime.ofEpochSecond(second, 0, ZoneOffset.ofHours(8));
2.把LocalDateTime转成秒
long etL = LocalDateTime.now().atZone(ZoneId.systemDefault()).toEpochSecond();
3.LocalDateTime转时间戳(毫秒)
//localdatetime转时间戳
LocalDateTime localDateTime = LocalDateTime.now();
longtimestamp = localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
4.时间戳(毫秒)转LocalDateTime(LocalDate)
long timestamp = System.currentTimeMillis();
LocalDate localDate = Instant.ofEpochMilli(timestamp).atZone(ZoneOffset.ofHours(8)).toLocalDate();
LocalDateTime localDateTime = Instant.ofEpochMilli(timestamp).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
5.LocalDateTime转Date
LocalDateTime localDateTime = LocalDateTime.now();
Date date = Date.from(localDateTime.atZone(ZoneOffset.ofHours(8)).toInstant());
6.Date转LocalDateTime(LocalDate)
Date date = new Date();
LocalDateTime localDateTime = date.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
LocalDate localDate = date.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDate();
7.str转LocalDateTime
String dateStr = "2023-12-29 21:45:09";
String pattern = "yyyy-MM-dd HH:mm:ss";
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(pattern);
LocalDateTime.parse(dateStr, dateTimeFormatter);