将时间戳转换为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