【发布时间】:2014-07-18 13:49:07
【问题描述】:
我正在尝试使用以下代码获取具有 UTC 时间的 Date 实例:
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
Date now = cal.getTime();
看起来很简单,但是如果我在 IntelliJ 的调试器中检查值,我会得到 cal 和 now 的不同日期:
cal:java.util.GregorianCalendar[time=1405690214219,areFieldsSet=true,lenient=true,zone=GMT,firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2014,MONTH=6,WEEK_OF_YEAR =29,WEEK_OF_MONTH=3,DAY_OF_MONTH=18,DAY_OF_YEAR=199,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=1,HOUR_OF_DAY=13,MINUTE=30,SECOND=14, MILLISECOND=219,ZONE_OFFSET=0,DST_OFFSET=0]
now:Fri Jul 18 10:30:14 BRT 2014
如您所见,cal 比 now 早 3 小时...我做错了什么?
提前致谢。
[编辑] 在上面的代码完成工作之前看起来像 TimeZone.setDefault(TimeZone.getTimeZone("UTC"));...
【问题讨论】:
-
请在提出重复问题之前搜索 StackOverflow。重复会稀释网站的质量并浪费人们的时间。
标签: java android android-calendar