繁体   English   中英

时间戳是UTC时间吗? 如何在java中获取UTC时间并转换为本地时间(毫秒)?

[英]Is timestamp an utc time? How to get utc time in java and convert to local time (millis)?

TIMESTAMP 是 UTC 时间吗? 如何在java中获取UTC时间并转换为本地时间(毫秒)?

您可以将时间戳对象转换为本地时间:

object.toLocalDateTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());

https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html#toLocalDateTime--

用这个

Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
System.out.println(cal.getTime());

使用 SimpleDateFormatter 将其转换为本地时间(毫秒)

好吧,我刚刚找到了一种获取 UTC 时间的方法,它有效,但我不知道这是否是一种好方法。

Calendar cal = Calendar.getInstance();
int zoneOffset = cal.get(Calendar.ZONE_OFFSET);
int dstOffset = cal.get(Calendar.DST_OFFSET);
cal.add(Calendar.MILLISECOND, -(zoneOffset + dstOffset));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM