【发布时间】:2020-12-03 07:43:27
【问题描述】:
我有一个简单的函数可以从时间戳中提取时间,即字符串。
timestamp(input) : "2020-08-13T09:33:17Z"
outputTime(output): "09:33"
desired output : "12:33"
功能:
fun getTimeFromTimestamp(timestamp: String): String {
val inputFormat: DateFormat = SimpleDateFormat("yyyy-MM-dd\'T\'HH:mm:ss\'Z\'", Locale.getDefault())
val time = inputFormat.parse(timestamp) ?: Date()
val outputFormat: DateFormat = SimpleDateFormat("HH:mm", Locale.getDefault())
val outputTime = outputFormat.format(time)
return outputTime
}
问题是它不影响输出中的时区,在这种情况下为GMT+3。
你可以看到我的调试screenshot
如何确保显示的时间包括随附的时区 (GMT+3)?
【问题讨论】:
-
顺便考虑扔掉早已过时且臭名昭著的麻烦
SimpleDateFormat和朋友。看看您是否可以使用 desugaring 或将 ThreeTenABP 添加到您的 Android 项目中,以便使用现代 Java 日期和时间 API java.time。使用起来感觉好多了。 -
这能回答你的问题吗? parsing date/time to localtimezone
标签: android datetime timezone simpledateformat