我需要格式化一个日期,并显示给用户的基础上,用户的位置。
我正在尝试使用以下代码格式化时间
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)给出了生成"UTC-4“的SimpleTimeZone实现,为了生成"PDT",必须使用Timezone.createTimeZone(timezoneJson: string)创建时区,但是这个问题是我们必须在编译时选择时区来创建输入时区json字符串。
提前感谢
发布于 2016-05-20 06:50:45
您需要将TimeZone object传递给格式化程序:
format.format(new Date(), timeZone));请注意,创建TimeZone的最佳方法是从包含过去时区更改信息的JSON字符串中创建。如果你的应用没有处理过去的时间,那么这可能是不必要的。
https://stackoverflow.com/questions/37335105
复制相似问题