如何解决如何为不同的TimeZone获取TimeInMillis
我已经厌倦了寻找如此简单的问题。
请不要建议我使用Joda Time或Java 8 ,我要使用简单的 java.time。 *并且我有Java 7。
我只想获取某个特定时区的 currentTimeInMillis ,我发现的所有示例都为我提供了一种解决方法,该方法如何使用
打印实际日期SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("Some/Location"));
但是我不想要日期,我只想要实际时间戳。
非常感谢
解决方法
无论您身在世界的哪个地方,System.currentTimeMillis()
都将永远不会给您任何回报。距midnight,January 1,1970 UTC
的毫秒数,即如果您同时在位于伦敦,新德里和纽约的JVM上执行以下代码,则结果将相同,因为System.currentTimeMillis()
与时区无关
public class Main {
public static void main(String[] args) {
System.out.println(System.currentTimeMillis());
}
}
因此,如果您的应用程序和在另一个时区中运行的应用程序都将时间戳记捕获为System.currentTimeMillis()
的值,则可以安全地比较它们的值,而不必担心时区的差异。 / p>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。