【发布时间】:2014-05-17 03:45:01
【问题描述】:
我无法将服务器时区转换为我的时区。我的服务器在美国。
这是我的代码:
long orderID = System.currentTimeMillis();
SimpleDateFormat sdf = new SimpleDateFormat("hh':'mm':'ss' 'a");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Kuala_Lumpur"));
Date orderTime = new Date(orderID);
System.out.print(sdf.format(orderTime));
但它仍然打印美国时间。如何解决?
【问题讨论】:
-
请展示一些输出示例,其中包含演示问题的真实数据。您的格式中没有时间,因此在两个时区中很多时间会显示相同。
-
为什么必须使用
SimpleDateFormat?你已经有毫秒的时间了,肯定还有其他更合适的课程。带有 JodaTime 的日历、日期或其他内容。 -
@JoshM 您将如何使用
String和仅在 Java 8 之前的 JDK 中的类来表示Date? -
@JimGarrison 对此感到抱歉。我只是更新我的问题
-
试试 GMT+8 而不是 Asia/Kuala_lumpur
标签: java timezone simpledateformat