gpt4 book ai didi

android - 日历给我错误的小时和分钟

转载 作者:太空宇宙 更新时间:2023-11-03 11:34:01 25 4
gpt4 key购买 nike

我正在尝试获取时间戳的时间,但无论时间戳是什么,当我使用 Calendar.HOURCalendar.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 小时,这显然不是它应该是的。为什么要这样做?

最佳答案

cal.HOURcal.MINUTE 是用于 Calendar 方法调用的静态最终整数。您将使用此代码来获得正确的结果:

   int hr = cal.get(Calendar.HOUR);
int min = cal.get(Calendar.MINUTE);

请注意,我调用了 Calendar 中的 HOURMINUTE 字段,而不是您的对象 cal。从实例化对象调用静态成员是不好的做法。

关于android - 日历给我错误的小时和分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7494518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com