我在我的应用程序中实现了以下代码来显示带有时区的日期和时间。
Date d = new Date();
SimpleDateFormat sdformat = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a z");
sdformat.setTimeZone(TimeZone.getTimeZone("EST"));
System.out.println(sdformat.format(d));
如果我在 Eclipse 中运行上述代码,我得到的输出为:
11/13/2015 07:23:56 PM EST
但是对于 Android 设备中的相同代码,我得到的输出为:
11/13/2015 07:23:56 PM GMT-5.00
为什么不同,我需要日期格式显示为:
11/13/2015 07:23:56 PM EST
最佳答案
TimeZone.getTimeZone(String id)
被设计为使用所谓的 Olson 格式作为参数。详情可查看here .
EST 时间对应于值“America/New_York”
,因此
sdformat.setTimeZone(TimeZone.getTimeZone("America/New_York"));
将给出预期的结果。
关于java - 在android中显示时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33693303/