【发布时间】:2016-05-19 22:31:09
【问题描述】:
我需要格式化一个日期并根据用户位置显示给用户。
我正在尝试使用以下代码格式化时间
DateTimeFormat.getFormat("h:mm a z").format(new Date(timeInMillis))
这是纽约用户得到“5:18 PM UTC-4”和西雅图用户得到“2:18 PM UTC-7”的结果。如何为纽约用户生成像“5:18 PM EST”和“2:18 PM PDT”这样的字符串?
注意:使用 format(new Date(time), timezone) 的问题在于如何根据用户区域设置创建时区对象? Timezone.createTimeZone(int) 提供 SimpleTimeZone 实现,它将产生“UTC-4”,为了生成“PDT”,必须使用 Timezone.createTimeZone(timezoneJson: string) 创建时区,但问题是我们必须在编译时选择时区以创建输入时区 json 字符串。
提前致谢
【问题讨论】: