【发布时间】:2011-09-21 04:12:57
【问题描述】:
我正在尝试获取时间戳的时间,但是当我使用 Calendar.HOUR 和 Calendar.MINUTE 时,我总是得到错误的时间,无论时间戳是什么,它都告诉我小时是 10,分钟是 12。
现在当我使用Calendar.getTime() 时,它给了我正确的时间,所以我不明白?我只想获取 12 小时格式的小时和分钟
这就是我的做法
public static String getRealTime(long time){
Calendar cal = Calendar.getInstance();
Log.d("Calendar",String.valueOf(time));
cal.setTimeInMillis(time);
Date timeS = cal.getTime();
String sTime = timeS.toString(); // gives correct time in 24hr format
int hr = cal.HOUR; // gives me 10 no matter what the timestamp is
int min = cal.MINUTE; // gives me 12 no matter what the timestamp is
String dMin = getDoubleDigit(min);
int ampm = cal.AM_PM;
String m = new String();
if(ampm == 0){
m = "AM";
}else{
m="PM";
}
String rtime = String.valueOf(hr)+":"+dMin+" "+m;
return rtime;
}
所以说时间戳是1316626200000 cal.getTime() 给我Wed Sep 21 13:30:00 EDT 2011 这将是正确的时间,但cal.HOUR 给我10 的小时显然不是它应该是什么。为什么要这样做?
【问题讨论】: