我有一个时间戳,我想将其转换为日期。我试过这个时间戳:1336425840.这应该是星期一,2012年5月7日21:24:00 GMT,其中GMT是模拟器应该设置的时区。我尝试这样做:在Android模拟器中将unix时间戳转换为日期
final Calendar c = Calendar.getInstance();
c.setTimeInMillis(1336425840*1000);
Date d = c.getTime();
Log.i("MyTag", "Hours: " + d.getHours());
结果是:时间:23
所以它看起来像返回的日期是根据GMT + 2,这是时区我的系统设置来计算。我期望g.hetHours()返回21,因为仿真器的时区似乎设置为GMT。
此外,该时间戳是使用mktime读取C中的实际日期的结果,这似乎会返回正确的时间戳。但Java似乎指的是不同的时区。我做错了什么?为什么不是星期一,2012年5月7日21:24:00 GMT返回?
检查了这一点的http:/ /stackoverflow.com/questions/2818086/android-get-current-utc-time – moujib