kar*_*vai 3 java date java-8 java-time
我有以下代码以某种格式获取当前时间。当我在我的笔记本电脑上测试它时,这在本地工作得非常好。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS z");
ZonedDateTime date = ZonedDateTime.now();
String timeStamp = formatter.format(date);
Run Code Online (Sandbox Code Playgroud)
以上在本地工作,时间戳值采用以下格式:2020-02-24 05:23:20.675 MST
但是当我将其推送到生产时,格式更改为:2020-02-24 05:23:20.675 -07:00
我无权访问生产设置,处理它的团队在另一个时区,现在无法获得它们。相信这是他们最后的一些设置,但有什么我可以做的,格式总是像:2020-02-24 05:23:20.675 MST?
请指教,谢谢。
您必须指定时区,似乎在生产中您使用的时区与本地时区不同。除了在您的代码中,您没有指定任何区域,因为它采用了默认区域。
要解决此问题,您必须指定 zone :
ZoneId zoneId = ZoneId.of("America/Dawson_Creek"); // specify the zone you want to use
ZonedDateTime date = ZonedDateTime.now(zoneId);
Run Code Online (Sandbox Code Playgroud)