将时间戳转换为UTC时区

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(); } 

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

将时区设置为SimpleDateFormat对象。

 sdf.setTimeZone(TimeZone.getTimeZone("UTC")); 

日期始终为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