我试图使用 ZonedDateTime.ofInstant 给出特定的日期时间来获取时间,但是我注意到在某些情况下给出的结果不包含秒。代表我正在处理的情况的代码示例
import java.time.*;
public class GFG {
public static void main(String[] args)
{
// create a long variable for milliseconds
//this is the same as "2022-01-31T00:00:00.00Z"
long milliseconds1 = 1643587200000L;
long milliseconds2 = 1643587201000L;
// get Instant using ofEpochMilli() method
Instant instant1
= Instant.ofEpochMilli(milliseconds1);
// create Instant object
Instant instant2
= Instant.ofEpochMilli(milliseconds2);
// create a ZonID
ZoneId zone = ZoneId.of("Europe/Lisbon");
// apply ofInstant method
// of ZonedDateTime class
ZonedDateTime zt1 = ZonedDateTime
.ofInstant(instant1, zone);
ZonedDateTime zt2 = ZonedDateTime
.ofInstant(instant2, zone);
// print the result
System.out.println("ZonedDateTime is " + zt1);
System.out.println("ZonedDateTime is " + zt2);
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码执行的结果如下:
ZonedDateTime is 2022-01-31T00:00Z[Europe/Lisbon]
ZonedDateTime is 2022-01-31T00:00:01Z[Europe/Lisbon]
Run Code Online (Sandbox Code Playgroud)
我需要获取第一个结果中未显示的秒数,但我无法理解为什么它没有显示 ZonedDateTime.ofInstant 是否有理由不给出完整时间,或者是否有其他方法来获取时间YYYY-MM-DD:HH:MM:SS 中的特定时区?
您只是使用默认toString()实现,默认实现又使用默认LocalDateTime.toString()实现,其记录为:
输出将是以下 ISO-8601 格式之一:
- uuuu-MM-dd'T'HH:mm
- uuuu-MM-dd'T'HH:mm:ss
- uuuu-MM-dd'T'HH:mm:ss.SSS
- uuuu-MM-dd'T'HH:mm:ss.SSSSSS
- uuuu-MM-dd'T'HH:mm:ss.SSSSSSSSS
使用的格式将是输出时间的完整值的最短格式,其中省略的部分隐含为零。
如果您想要非默认格式(听起来像您所做的那样),则需要使用DateTimeFormatter. 我怀疑这DateTimeFormatter.ISO_ZONED_DATE_TIME可以满足您的要求 - 但如果没有,只需构建一个具有您想要的确切格式的格式即可。
示例代码:
import java.time.*;
import java.time.format.*;
public class Test {
public static void main(String[] args) {
Instant instant = Instant.ofEpochMilli(1643587200000L);
ZoneId zone = ZoneId.of("Europe/Lisbon");
ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, zone);
DateTimeFormatter formatter = DateTimeFormatter.ISO_ZONED_DATE_TIME;
System.out.println(formatter.format(zdt));
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
2022-01-31T00:00:00Z[Europe/Lisbon]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
692 次 |
| 最近记录: |