如何从Unix纪元时间毫秒获取GMT日期?
问题描述:
我试图将unix毫秒转换为gmt日期,我只需要几小时和几分钟,但根据在线转换器的结果不正确。如何从Unix纪元时间毫秒获取GMT日期?
我需要什么
这里是我的代码:
public static void main(String[] args) {
long time = 1438050023;
// TimeZone timeZone = TimeZone.getTimeZone("UTC");
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time/1000);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("hh:mm:ss dd MM yyyy");
simpleDateFormat.setTimeZone(calendar.getTimeZone());
System.out.println(simpleDateFormat.format(calendar.getTime()));
}
结果:
03:23:58 01 01 1970
答
变化calendar.setTimeInMillis(time/1000)
到calendar.setTimeInMillis(time * 1000)
毫秒数是秒数的1000倍;不是数字的1/1000。
+0
哦,天哪,多么愚蠢的错误,我怎么看不到。谢谢! –
答
public static String ConvertMillistoDatetime(long millis) {
long second = (millis/1000) % 60;
long minute = (millis/(1000 * 60)) % 60;
long hour = (millis/(1000 * 60 * 60)) % 24;
return String.format("%02d:%02d:%02d", hour, minute, second);
}
试试这个你可以保持秒可选这里
在Java中,时间以毫秒为单位,而不是秒。 –