Java简单时间戳到日期转换

时间:2010-09-07 17:36:18

标签: android unix date timestamp

我今天一直试图找到这个问题的答案,并且有太多相互矛盾的信息....

我想要做的是在android中获取当前的unix时间戳,然后将其转换为允许我使用getHours()和getMinutes()的格式。

我目前正在这样做:

int time = (int) (System.currentTimeMillis());
Timestamp ts = new Timestamp(time);
mHour = ts.getHours();
mMinute = ts.getMinutes();

但它并没有给我一个正确的小时或分钟值(它在当前东海岸时间13:33返回03:38)。

5 个答案:

答案 0 :(得分:9)

这有效:

final Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
Date date = cal.getTime();
mHour = date.getHours();
mMinute = date.getMinutes();

答案 1 :(得分:8)

只需使用Java Calendar类。

Calendar c = new GregorianCalendar();  // This creates a Calendar instance with the current time
mHour = c.get(Calendar.HOUR);
mMinute = c.get(Calendar.MINUTE);

另请注意,您的Android模拟器将返回GMT当前时间。我建议在真实设备上测试这种类型的代码。

答案 2 :(得分:2)

看看这个。

希望这就是你所需要的。

Android Simple Date Format

祝你好运!!

答案 3 :(得分:2)

int time = (int) (System.currentTimeMillis());

这里你应该使用 long 而不是 int

答案 4 :(得分:0)

使用T ime类表格Google最适合此类工作,特别是它的性能不如日历。