【发布时间】:2020-07-07 02:51:35
【问题描述】:
我有一个java.util.Date 对象。当我将其格式化为String 时,使用:
String timeString = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss-Z").format(time);
我明白了:
2020-03-26-14:40:55-+0200
所以,不知何故,我有正确的时区(但我可以有任何时区,不仅仅是+2),这很好。
我想将此日期转换为 UTC,然后将其转换为 String。如果我向客户端发送一个带有日期的对象,那么Jackson 会自动将其转换为UTC。但我想手动执行此操作。
我该怎么做?
【问题讨论】:
-
投什么反对票?
-
我建议你不要使用
SimpleDateFormat和Date。这些类设计不良且过时,尤其是前者,尤其是出了名的麻烦。而是使用例如OffsetDateTime和DateTimeFormatter,两者都来自java.time, the modern Java date and time API。 -
这是一种特殊的格式。你不想在ISO 8601 format 中有一个字符串吗?
-
在偏移前插入连字符很奇怪,而且非常混乱。我强烈建议您坚持使用 ISO 8601 标准格式。
标签: java datetime jackson datetime-format utc