gur*_*107 0 java datetime date-conversion java-time
下面的代码片段打印了错误的年份。我在这里做错了什么吗?它打印日期时间为2018-12-31 00:00:00但它确实应该是2017-12-31 00:00:00。我在 JavaScript 中转换了相同的纪元,它工作得很好。我还将时区设置为UTC,它给出的结果为,2017-12-30 18:30:00但将时区设置为Asia/Calcutta将其增加一年。我在这里缺少什么?
import java.time.*;
import java.time.format.*;
public class MyClass {
public static void main(String args[]) {
DateTimeFormatter format = DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss");
String time = LocalDateTime.ofInstant(Instant.ofEpochMilli(1514658600000L), ZoneId.of("Asia/Calcutta")).format(format);
System.out.println(time);
}
}
Run Code Online (Sandbox Code Playgroud)
您需要使用“yyyy”而不是“YYYY”:
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
来自文档:
Run Code Online (Sandbox Code Playgroud)Symbol Meaning Presentation Examples y year-of-era year 2004; 04 Y week-based-year year 1996; 96
| 归档时间: |
|
| 查看次数: |
1265 次 |
| 最近记录: |