也许这是一个边缘要求,因为找到一个有效的解决方案真的很棘手。。
我开了个会议
“时区”:“欧洲/柏林”,“创建时间”:“2020-11-20t19:35:22z”,
我想要一个java日期,当检查或输出(simpledateformat)时,它看起来像是在+时区的偏移处创建的。
考虑到我和柏林的时区不同,我试过的大多数路线都是根据系统日期进行调整,我绕不过去。
在经历了很多痛苦之后,我最终使用了这个方法(为了这篇文章的缘故,这个方法变得不那么通用)。我希望这能帮助一些人,如果有一个更简单的解决方案,我很想知道:)
2条答案
按热度按时间rdlzhqv91#
j0pj023g2#
api的日期时间
java.util
以及它们的格式化api,SimpleDateFormat
过时且容易出错。我建议您完全停止使用它们,转而使用现代的日期时间api。输出:
在trail:date-time了解有关现代日期时间api的更多信息。如果您正在为一个android项目工作,并且您的android api级别仍然不符合java-8,请检查通过desugaring提供的java8+api以及如何在android项目中使用threetenabp。
使用传统api:
输出:
注意不要硬编码
'Z'
在格式中。这个'Z'
代表Zulu
表示日期和时间UTC
.