我试图让一个时间戳的时间,但我不断收到错误的时间,当我用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;
}
Run Code Online (Sandbox Code Playgroud)
所以说时间戳是1316626200000cal.getTime()给了我Wed Sep 21 13:30:00 EDT 2011哪个是正确的时间,但cal.HOUR给了我10一小时显然不是它应该是什么.它为什么这样做?
Aus*_*ney 13
cal.HOUR并且cal.MINUTE是用于Calendar方法调用的静态最终整数.您将使用此代码来获得正确的结果:
int hr = cal.get(Calendar.HOUR);
int min = cal.get(Calendar.MINUTE);
Run Code Online (Sandbox Code Playgroud)
请注意,我调用的是HOURand MINUTE字段,Calendar而不是您的对象cal.从实例化对象调用静态成员是不好的做法.
| 归档时间: |
|
| 查看次数: |
5106 次 |
| 最近记录: |