-1

我使用 Calendar.getTime() 方法来获取设备时间。返回的时间是 Tue Feb 01 11:33:35 PST 2000"。然后 SimpleDateFormat.format(Calendar.getTime()) 为输入值 19:33(24 小时格式)返回 7:33 PM(到 TIME_ONLY 格式) .

这让我很困惑。后来我使用getTimeInstance() 来检查Calendar.getTime() 返回的时间。值为:上午 11:33:35

我已将时区设置为 SimpleDateFormat 作为设备时区。

现在我需要你的建议。我是否应该使用 DateFormat 解析时间并返回值,尽管 SimpleDateFormat.format(Calendar.getTime())。

我知道 Calendar.getTime() 都在返回设备时间,而 SimpleDateFormat.format() 正在使用设备时间。这可能是 12 小时格式的原因。但是为什么 Calendar.getTime() 在 PST 中返回时间以及为什么 SimpleDateFormat.format() 将其转换为 GMT 并显示相同。

请帮助我理解这一点。

4

2 回答 2

0

尝试

SimpleDateFormat dateFormat= new SimpleDateFormat("h:mm:s  a");
System.out.println(dateFormat.format(new Date()));
于 2012-09-02T05:47:20.023 回答
0

我已将日期解析为所需的格式。

于 2012-09-04T05:48:43.280 回答