当我记录这段代码时,我得到了两个输出:
private void meth(Date date) {
LOG.info(
date.toInstant()
.atZone(ZoneId.systemDefault())
.format(DateTimeFormatter.ISO_DATE_TIME));
LocalDateTime ldt = LocalDateTime.ofInstant(
date.toInstant(),
ZoneId.systemDefault()
);
LOG.info(ldt.format(DateTimeFormatter.ISO_DATE_TIME));
}
我得到了这些日志:
2019-04-01 13:13:32.195 INFO --- : 2019-01-01T01:00:00+01:00[Europe/Madrid]
2019-04-01 13:13:32.197 INFO --- : 2019-01-01T01:00:00
ldt
是否丢失了其原始时区?
我怎么会在乎呢?
LocalDateTime是不带时区的日期时间:
https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html
您使用的是不包含时区的 LocalDateTime
- 请参阅 API:
ISO-8601日历系统中没有时区的日期时间,例如2007-12-03T10:15:30。
您想改用ZoneDateTime。
我有一个简单的JavaLocalDateTime如下: 它的结果是: 我希望是2021年3月23日下午1点17分 我在这里错过了什么?
问题内容: 我正在尝试将一个实例转换为一个实例。 我没有得到编译器错误,但是实例值是错误的。 我认为这不起作用,因为它存储时间而不是。 我正在使用JDK 1.8版。 问题答案: 您的输入实际上是一个。简单地将其解析为a 然后从中获取会更简单。无需担心时区,无需保留某些传统课程(避免并在可能的情况下…)
我正在尝试在中解析这些日期,然后获取表示形式。 我阅读了这个类似的答案,并创建了一个方法来解析上述日期并返回具有所需格式的: 然而,没有一个图案是匹配的。我这里缺少什么? 更新:在这两个日期中,我都收到了字符的异常。
何时何地哪个更可取? 我不知道他们之间到底有什么区别。 来自LocalDateTime的文档 ...时间表示为纳秒精度。例如,值“2007 年 10 月 2 日 13:45.30.123456789”可以存储在 LocalDateTime 中。 我假设LocalDateTime也可以接受纳秒。所以我想,我可以用LocalDateTime替换我的代码,它们被声明为TimeStamp。如果我错了,请纠
目前我有一张包含以下条目的地图, 如何确定当前LocalDateTime是否介于两个时间之间?例如,如果当前时间为,则需要获取值。
问题内容: 从服务器上,我得到了这种格式的datetime变量:它是UTC时间。我想使用JavaScript将其转换为当前用户的浏览器时间。 如何使用JavaScript或jQuery完成此操作? 问题答案: 在将字符串转换为javascript中的日期之前,将’UTC’附加到字符串中: