java - 如何将 Java 日历设置为特定的 UTC 时间?

标签 java calendar

当我这样做时:

Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
c.set(9999, 11, 31, 0, 0, 0);
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy HH.mm.ss.SSSSSSSSS a");
String date = formatter.format(c.getTime());
assertEquals("31-Dec-99 00.00.00.000000000 AM", date);

我得到这个:99 年 12 月 30 日 18.00.00.000000318 PM

如何获得我想要的时间?

最佳答案

您需要设置formatter's time zone以及在执行格式化之前。

formatter.setTimeZone(c.getTimeZone());

否则将使用平台默认时区。

<小时/>

与具体问题无关,日历不保存纳秒,因此格式化后该部分可能仍然有点偏差。

关于java - 如何将 Java 日历设置为特定的 UTC 时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14404789/

相关文章:

java - 通过查找其类来获取对象属性

Django 日历小部件

iOS:内部化日本日期格式以显示平成日历

java - compareTo 和 equals 方法在此示例中如何工作?

java - 通过多个类名查找 div 元素?

java - Head First 设计模式与 Head First 面向对象分析与设计

java - 在 logcat 中显示数组值

PHP - 类似银行的每月交易

java - 在 Android 中获取和显示日期信息

java - 读取重复事件时出现问题