4
public static long getCurrentEpochTimeStamp(String timeStamp) throws Exception {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.0Z'");
    Date date = sdf.parse(timeStamp);
    return date.getTime();
}

此方法返回纪元当前时间戳,我需要将其转换为 UTC 时区。

4

2 回答 2

6

SimpleDateFormat 为您的对象设置时区。

sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
于 2013-07-02T16:56:02.060 回答
2

日期始终为 UTC,您无法转换它。问题是如何解析字符串表示。如果 timeStamp 包含时区,则模式 "yyyy-MM-dd'T'HH:mm:ss'.0Z'" 不正确,因为它不解析时区。如果时区采用 RFC 822 格式,则应为“yyyy-MM-dd'T'HH:mm:ssZ”,如果时区采用 ISO 8601 格式,则使用X而不是。Z请参阅 SimpleDateFormat API

于 2013-07-02T17:13:36.167 回答