如何在java中创建LocalDateTime变量?
如果只有年、月和日,如何初始化LocalDateTime变量? 另外,如果我需要包括时间,我会将其设置为00:00:00如何在java中创建LocalDateTime变量?,java,variables,localdate,localtime,Java,Variables,Localdate,Localtime,如果只有年、月和日,如何初始化LocalDateTime变量? 另外,如果我需要包括时间,我会将其设置为00:00:00 非常感谢你 优雅的方式是通过LocalDate: LocalDateTime dateTime = LocalDate.of(2020, Month.JANUARY, 18).atStartOfDay(); System.out.println(dateTime); 此代码段的输出为: 2020-01-18T00:00 如果您将月份作为一个数字,如1表示1月
非常感谢你 优雅的方式是通过
LocalDate
:
LocalDateTime dateTime = LocalDate.of(2020, Month.JANUARY, 18).atStartOfDay();
System.out.println(dateTime);
此代码段的输出为:
2020-01-18T00:00
如果您将月份作为一个数字,如1表示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的偏移量。现在我们没有任何误解的余地。,请查看的文档。它为创建实例提供了多种静态方法,只需对与时间有关的参数使用0
“包括tme”?什么意思?你能提供一些简单的输入和预期的结果吗?你想要达到什么目标还很不清楚。