我有一个简单的问题,我有下面的函数,上面有一个称为cacheTime的参数,我如何将它设置为4小时,我是否应该将它设置为4 * 3600000

public static File getCache(String name, Context c, int cacheTime)
{
    if (cacheTime <= 0)
        return null;
    File cache = new File(c.getCacheDir(), name);
    long now = System.currentTimeMillis();
    if (cache.exists() && (now - cache.lastModified() < cacheTime))
        return cache;
    return null;
}

最佳答案

毫秒是1/1000秒。所以4小时就是4*60*60*1000=14400000
对于缓存失效,这可能是好的。也就是说,约会数学往往是危险的。当处理比毫秒更大的时间单位时,人们很容易在日光节约转换、闰秒和日历要处理的所有其他事情中被绊倒。在某些情况下,罕见的不精确是可以接受的,而在另一些情况下则不是。做约会数学时要小心。
使用calendar.roll()以更大的时间单位(如+1天)确定人类消耗时间。

10-07 13:01