gpt4 book ai didi

java - 使用 SimpleDateFormat 获取 UTC 日期

转载 作者:行者123 更新时间:2023-12-02 05:05:26 26 4
gpt4 key购买 nike

我正在尝试使用 SimpleDateFormat 来解析 scala 中的日期和时间字符串。我希望创建的日期对象采用 UTC 格式,但它将其转换为我的本地时区。设置时区或日历不起作用。

scala> new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
scala> res41.parse("2014-12-12 13:12:45")
//java.util.Date = Fri Dec 12 13:12:45 IST 2014

res41.setTimeZone(java.util.TimeZone.getTimeZone("UTC")) 设置时区后(res41 是 Scala REPL 中 SimpleDateFormat 的实例)给了我相同的结果。

如果我设置Calendar,例如res41.setCalendar(cal),其中caljava.util.Calendar的实例 时区也为 UTC,不会改变结果。

我不知道我做错了什么。

最佳答案

java.time

您可以使用java.time package内置于 Java 8 。它比 java.util 类更容易使用。

import java.time.ZoneId
java.time.LocalDateTime.now()
java.time.LocalDateTime.now(ZoneId.of("GMT"))
java.time.LocalDateTime.now(ZoneId.of("Asia/Kolkata"))
java.time.LocalDateTime.now(ZoneId.of("Australia/Sydney"))

使用ZoneId ,可以获得不同时区的时间。正确使用time zone names .

乔达时间

您还可以使用Joda-Time ,特别是如果您不使用 Java 8。请参阅 DateTimeZone .

关于java - 使用 SimpleDateFormat 获取 UTC 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27835910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com