gpt4 book ai didi

java - 显示时间而不转换为本地时区

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

我有一个 API 可以给我这个 JSON 响应

{
"time": "2020-05-25T05:18:02.279842+01:00",
"timezone_name": "LMT",
"timezone": "Europe/London"
}

现在,我有两个问题。

  1. 将时间转换为日期对象。我使用了 SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ") 但是,给我解析异常。我认为这是因为毫秒是 6 位数字 SSSSSS(279842)。因此,我将此 2020-05-25T05:18:02.279842+01:00" 转换为 2020-05-25T05:18:02.279+01:00" 有效。我对字符串操作不满意。

  2. 当我从上方设置日期格式时,我看到的是本地时区的时间,而不是伦敦时间。我想我必须为时区中给出的日期对象设置时区。

总的来说,我只想将 txt 巧妙地解析为数据对象并显示给定时区的时间。

感谢您的投入。

最佳答案

我最终得到了这个解决方案。

private fun format(str: String): String {
// expected input format "2020-05-24T08:19:40.807726-05:00"
try {
val slits = str.split(".")
val inputFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss")
inputFormat.timeZone = TimeZone.getTimeZone(timezone/*"Europe/London"*/)

val outputFormat = SimpleDateFormat("h:mm a")
outputFormat.timeZone = inputFormat.timeZone
return outputFormat.format(inputFormat.parse(slits[0])!!)
} catch (e: Exception) {
Log.e(MWLocationInfo::class.java.simpleName, e.stackTrace.toString());
}
return "-"
}

关于java - 显示时间而不转换为本地时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61995977/

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