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时区。
答案 0 :(得分:5)
将时区设置为SimpleDateFormat
对象。
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
答案 1 :(得分:2)
日期始终为UTC,您无法对其进行转换。问题是如何解析字符串表示。如果timeStamp包含时区,则模式“yyyy-MM-dd'T'HH:mm:ss'.0Z'”不正确,因为它不解析时区。它应该是“yyyy-MM-dd'T'HH:mm:ssZ”如果时区是RFC 822格式,如果时区在ISO 8601中,则使用X
而不是Z
。请参阅SimpleDateFormat API < / p>