我遇到了一个我不知道如何解决的问题...
添加日期以这种形式从服务器到达:“2020-10-15T11:51:51.000Z” 时间以零时区指示
事实上,加法不是在 11:51 发生,而是在 14:51,因为我(加法)在 +3 小时带中。
val cal = Calendar.getInstance()
val sdf = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.getDefault())
cal.time = sdf.parse(item.time) // "2020-10-15T11:51:51.000Z"
cal.timeZone = TimeZone.getTimeZone("Europe/Kiev")
val sdf2 = SimpleDateFormat("dd.MM.yyyy HH:mm", Locale.getDefault())
Log.i("LOG", sdf2.format(cal.time))
结果,在日志中我有 11:51,但理论上应该是 14:51 ...
我究竟做错了什么?)
你确定你应该应用这个方法
setTimeZone()
吗cal
?在我看来,将其应用于 sdf 会更合乎逻辑:sdf.timeZone = TimeZone.getTimeZone("GMT") cal.time = sdf.parse("2020-10-15T11:51:51.000Z")
而已!感谢 AVRamones 的提示