我无法将从MySQL服务器返回的时间戳转换为不同的时区。服务器的时区是UTC。
8:50 PM
输出始终为1:50 PM
,我期待html, body {
min-height: 100%;
}
body {
background-image: url(http://myurl.com/myimage.jpg);
background-repeat: no-repeat;
background-position: 0 0;
background-size: cover;
}
@media (min-width: 1120px), (min-height: 630px) {
body { background-size: auto; }
}
(从我的Swift程序的等效过程返回的值。
答案 0 :(得分:4)
您的解析格式字符串不完整,因此您不会尊重输入中的时区。
将格式字符串更改为"yyyy-MM-dd'T'HH:mm:ss.SSSX"
。
<强>更新强>
由于您的输入字符串是ISO 8601格式,您可以使用Instant
(Java 8+)解析它,而无需提供输入格式。
假设您的默认Locale
格式时间符合您的要求,您可以在不指定显式输出格式的情况下执行此操作。
// Prints "1:50 PM" (since my locale is "en_US")
System.out.println(Instant.parse("2017-05-06T20:50:59.000Z")
.atZone(ZoneId.of("America/Los_Angeles"))
.format(DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT)));