问题描述
我已经厌倦了寻找如此简单的问题。
请不要建议我使用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>