[英]Convert timestamp to UTC timezone
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();
}
This method returns epoch current timestamp, I need to convert this to UTC timezone. 此方法返回epoch当前时间戳,我需要将其转换为UTC时区。
将时区设置为SimpleDateFormat
对象。
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
Date is always in UTC and you cannot convert it. 日期始终为UTC,您无法转换它。 The problem is how to parse string representation.
问题是如何解析字符串表示。 If timeStamp contains timezone, then pattern "yyyy-MM-dd'T'HH:mm:ss'.0Z'" is incorrect because it does not parse timezone.
如果timeStamp包含时区,则模式“yyyy-MM-dd'T'HH:mm:ss'.0Z'”不正确,因为它不解析时区。 It should be "yyyy-MM-dd'T'HH:mm:ssZ" if timezone is in RFC 822 format, use
X
instead of Z
if timezone is in ISO 8601. See SimpleDateFormat API 它应该是“yyyy-MM-dd'T'HH:mm:ssZ”如果时区是RFC 822格式,如果时区在ISO 8601中,则使用
X
代替Z
请参阅SimpleDateFormat API
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.