此代码将 datetime 转换为 unix 时间戳,但是当我检查位于同一时区的墨西哥城和芝加哥的结果时,我得到了不同的结果。
结果是:
2020 年 4 月 3 日星期五 08:45:18 (am) 在美国/墨西哥城 (CST) 时区和
2020 年 4 月 3 日星期五 09:45:18 (am) 在时区 America/Chicago (CDT)
如何解决这个问题呢?
https://www.epochconverter.com/timezones?q=1585925118&tz=America%2FMexico_City https://www.epochconverter.com/timezones?q=1585925118&tz=America%2FChicago
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
LocalDateTime dateTime = LocalDateTime.parse(2020-04-03 09:45:18, formatter);
ZoneId zoneId = ZoneId.of("CST", ZoneId.SHORT_IDS)
ZoneOffset zoneOffset = zoneId.getRules.getOffset(LocalDateTime.now)
ldt.toInstant(ZoneOffset.of(String.valueOf(zoneOffset))).toEpochMilli //1585925118000