如何获取不同时区的 TimeInMillis
How to get TimeInMillis for different TimeZone
我已经厌倦了搜索这么简单的问题。
请不要建议我使用 Joda Time 或 Java8,我想使用简单的 java.time.*我有 Java 7.
我只想获取某个特定时区的 currentTimeInMillis,我发现的所有示例只是为我提供了如何使用
打印实际日期的解决方案
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("Some/Location"));
但我不想要日期,我只想要实际时间戳。
非常感谢
无论你在世界的哪个角落,System.currentTimeMillis()
永远return你没有。距 midnight, January 1, 1970 UTC
的毫秒数,即如果您同时在位于伦敦、新德里和纽约的 JVM 上执行以下代码,结果将是相同的,因为 System.currentTimeMillis()
独立于 time-zone.
public class Main {
public static void main(String[] args) {
System.out.println(System.currentTimeMillis());
}
}
因此,如果您的应用程序和另一个 time-zone 中的应用程序 运行,两者都将时间戳捕获为 System.currentTimeMillis()
的值,您可以安全地比较它们的值,而不必担心time-zone.
的差异
我已经厌倦了搜索这么简单的问题。
请不要建议我使用 Joda Time 或 Java8,我想使用简单的 java.time.*我有 Java 7.
我只想获取某个特定时区的 currentTimeInMillis,我发现的所有示例只是为我提供了如何使用
打印实际日期的解决方案SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("Some/Location"));
但我不想要日期,我只想要实际时间戳。
非常感谢
无论你在世界的哪个角落,System.currentTimeMillis()
永远return你没有。距 midnight, January 1, 1970 UTC
的毫秒数,即如果您同时在位于伦敦、新德里和纽约的 JVM 上执行以下代码,结果将是相同的,因为 System.currentTimeMillis()
独立于 time-zone.
public class Main {
public static void main(String[] args) {
System.out.println(System.currentTimeMillis());
}
}
因此,如果您的应用程序和另一个 time-zone 中的应用程序 运行,两者都将时间戳捕获为 System.currentTimeMillis()
的值,您可以安全地比较它们的值,而不必担心time-zone.