Java android将unix时间转换为utc日期
我对涉及时区的unix时间戳到java.util.Date的转换有点困惑 我有一个unix时间戳,它是Java android将unix时间转换为utc日期,java,android,java.util.date,Java,Android,Java.util.date,我对涉及时区的unix时间戳到java.util.Date的转换有点困惑 我有一个unix时间戳,它是“1367832568”。这是一个UTC日期(周一5月6日17:29:28 GMT+00:00 2013)。当我做以下事情时: Date d = new Date(1367832568 * 1000); 它给我的Mon-May 06 17:29:28 GMT+08:00 2013不正确。它应该给我: Mon May 07 01:29:28 GMT+08:00 2013 因为unix时间戳实际
“1367832568”
。这是一个UTC日期(周一5月6日17:29:28 GMT+00:00 2013)。当我做以下事情时:
Date d = new Date(1367832568 * 1000);
它给我的Mon-May 06 17:29:28 GMT+08:00 2013
不正确。它应该给我:
Mon May 07 01:29:28 GMT+08:00 2013
因为unix时间戳实际上是UTC日期。所以这是令人困惑的。如何转换UTC unix时间戳以正确转换为UTC日期对象。我不确定日期对象的格式是否正确,但通过将时区设置为dateformat对象(到GMT),我可以获得 周一5月6日09:29:28格林尼治标准时间2013年上午 你要找的是同一天
long time = 1367832568 * (long) 1000;
Date date = new Date(time);
SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy a");
format.setTimeZone(TimeZone.getTimeZone("GMT"));
Log.d("date", format.format(date));
我不确定如何精确地格式化日期对象,但通过将时区设置为dateformat对象(到GMT),我可以得到 周一5月6日09:29:28格林尼治标准时间2013年上午 你要找的是同一天
long time = 1367832568 * (long) 1000;
Date date = new Date(time);
SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy a");
format.setTimeZone(TimeZone.getTimeZone("GMT"));
Log.d("date", format.format(date));
尝试将这两个参数都转换为date:dated=newdate(((long)1367832568*(long)1000));尝试将这两个参数都转换为date:dated=newdate(((long)1367832568*(long)1000));我不要绳子。我想要带有GMT日期的日期对象。您要做的是获取本地GMT日期对象并使用格式化程序输出GMT字符串。我需要GMT日期对象。代码中的第2行应该给出GMT日期对象。这就是我想要的。而且你打印的日期不正确。我想是你的时区改变了。正确的输出应该是Mon May 06 17:29:28 GMT+00:00 2013您不能在Date对象中设置区域设置,请改用Calendar。时间是正确的,根据我不想要的字符串。我想要带有GMT日期的日期对象。您要做的是获取本地GMT日期对象并使用格式化程序输出GMT字符串。我需要GMT日期对象。代码中的第2行应该给出GMT日期对象。这就是我想要的。而且你打印的日期不正确。我想是你的时区改变了。正确的输出应该是Mon May 06 17:29:28 GMT+00:00 2013您不能在Date对象中设置区域设置,请改用Calendar。时间是正确的