java - 在android中显示时区

标签 java android

我在我的应用程序中实现了以下代码来显示带有时区的日期和时间。

    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/

相关文章:

android - 在某些 subview 前面绘制

java - 如何从 'ul' 标签获取文本?

java - Microsoft 的 MS-SQL Server JDBC 3.0 驱动程序是否包含对 JTA 的支持?

java - 请求作用域 bean 不会调用 @PreDestroy 方法

android - 如何跟踪第 1 行第 0 列未找到元素的“ExpatParser$ParseException?

php - Android php mysql 的 HTTP post 方法

android - 将页脚添加到 Android TouchListView

android - 如何在 Intent 中广播可打包对象?

java - IntelliJ IDEA 中Java类资源的自动重载

java - 如何在android的操作栏中创建按钮