我需要几天的天数。
我正在做,
long days = (millis / (60*60*24*1000)) % 365;
这是真的吗?如果没有请告诉我从毫秒开始的天数。
请不建议做
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(millis);
int mDay = calendar.get(Calendar.DAY_OF_MONTH);
答案 0 :(得分:24)
int days = TimeUnit.MILLISECONDS.toDays(miliseconds);
答案 1 :(得分:6)
long days = (millis / (60*60*24*1000))
答案 2 :(得分:1)
很确定这是正确的,但没有模数。
%365表示将其除以365得到余数。
一天有(60 * 60 * 24 * 1000)毫秒。
所以转换:
millis/(60 seconds * 60 minutes * 24 hours * 1000 ms/second)
应该这样做。
答案 3 :(得分:0)
一个工作得很好,但是请检查服务器的标准时间。通常,如果服务器的标准时间不是您期望的标准时间,那么毫秒通常会产生问题,甚至会导致不匹配。代码:
public boolean isAdult(Date userDob, int minimumAge) {
Calendar cal = Calendar.getInstance();
long dayNow = TimeUnit.MILLISECONDS.toDays(cal.getTimeInMillis());
cal.setTime(userDob);
long dayDob = TimeUnit.MILLISECONDS.toDays(cal.getTimeInMillis());
long ageInDays = dayNow - dayDob;
long ageInYears = ageInDays / 365;
if (ageInYears < minimumAge) {
return false;
} else {
return true;
}
}