如何将毫秒转换为天?

13

我需要将毫秒转换为天数。

我正在进行以下操作:

long days = (millis / (60*60*24*1000)) % 365;

这是真的吗? 如果不是,请告诉我如何从毫秒中获取天数。

不要建议做什么

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(millis);
int mDay = calendar.get(Calendar.DAY_OF_MONTH);
4个回答

56
int days = TimeUnit.MILLISECONDS.toDays(miliseconds);

17
long days = (millis / (60*60*24*1000))

7
@Apurva 你如何处理闰年? - p._phidot_

4

我很确定是正确的,但没有使用取模。

% 365表示将其除以365并获取余数。

一天有(60*60*24*1000)毫秒。

因此,进行转换:

millis/(60 seconds * 60 minutes * 24 hours * 1000 ms/second)

应该这样做。

-1

这段代码完全正常运行,但请检查服务器的标准时间。当服务器的标准时间与您期望的不同时,毫秒通常会创建问题或不匹配。

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;
        }
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接