android - 从包括 TimeZone 在内的时间戳中获取特定格式的时间
问题描述
我有一个简单的函数来从时间戳中提取时间,它是字符串。
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
在这种情况下就是这样。
你可以看我的调试截图
如何确保显示的时间包括随附的时区 (GMT+3)?
解决方案
输出时间采用该格式,因为您HH:mm
在此行中将其指定为 so ( )
val outputFormat: DateFormat = SimpleDateFormat("HH:mm", Locale.getDefault())
如果您希望它包含时区,请将时区附加到输出字符串
编辑
"HH:mm zZ"
似乎对我有用,看看这个小提琴
推荐阅读
- android - 需要使用从父节点导航的相对路径来定位 Xpath
- node.js - 如何获得解决 tcpPortUsed NodeJS 的承诺
- c# - WPF IMultiValueConverter DependencyProperty.UnsetValue
- ocaml - Ocaml:在参数类型中使用记录和变体
- python - PyCharm Edu:如何解决“无法加载解决方案”?
- nuget - NUGET没有文件夹的还原包?
- java - 如何在 JAVA 中用其他类名克隆“类树”?
- python - python函数的参数列表
- angular - ngrx/store 初始化 Observable @Input
- mysql - 当有 FK 时,如何创建列 auto_increment?