[英]How do I configure Jackson Serialization on LocalDateTime and LocalDate for Java?
[英]how do I create a LocalDateTime variable in java?
如果我只有年、月和日,我该如何初始化 LocalDateTime 变量? 另外,如果我需要包括时间,我会将其设置为 00:00:00 非常感谢!
优雅的方式通过LocalDate
:
LocalDateTime dateTime = LocalDate.of(2020, Month.JANUARY, 18).atStartOfDay();
System.out.println(dateTime);
这个片段的输出是:
2020-01-18T00:00
如果您将月份作为数字,例如 1 表示一月,请改用LocalDate.of(2020, 1, 18)
。 其余的都是一样的。
在使用LocalDateTime
之前要三思。 我们通常将日期和时间一起使用来确定时间点。 LocalDateTime
不适合这个(有些人会说它不能)。 为什么以及如何? 它不知道任何时区或与 UTC 的偏移量。 因此,读取LocalDateTime
任何人和任何软件都可以自由地将其解释为他们碰巧想到的任何时区,而不是预期的时区。 对于 20 个目的中的至少 19 个,您最好使用ZonedDateTime
或OffsetDateTime
。 例如:
ZoneId zone = ZoneId.of("America/Recife");
ZonedDateTime dateTime = LocalDate.of(2020, Month.JANUARY, 18).atStartOfDay(zone);
2020-01-18T00:00-03:00[美国/累西腓]
分钟和区域 ID 之间的-03:00
是与 UTC 的偏移量。 现在我们没有留下任何误解的余地。
如果我只有年份,月份和日期,该如何初始化LocalDateTime变量? 另外,如果我需要包括时间,我将其设置为00:00:00,非常感谢!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.