android - Java如何判断一个时间戳是否是昨天?
迷茫
迷茫 2017-04-18 10:52:36
0
3
870

如题,根据时间戳怎么判断是不是昨天呢?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(3)
洪涛

JDK 内置方式

public static boolean isYesterday(long timestamp) {
    Calendar c = Calendar.getInstance();
    clearCalendar(c, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND);
    c.add(Calendar.DAY_OF_MONTH, -1);
    long firstOfDay = c.getTimeInMillis(); // 昨天最早时间

    c.setTimeInMillis(timestamp);
    clearCalendar(c, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND); // 指定时间戳当天最早时间

    return firstOfDay == c.getTimeInMillis();
}

private static void clearCalendar(Calendar c, int... fields) {
    for (int f : fields) {
        c.set(f, 0);
    }
}
伊谢尔伦
    ( ( timestamp - System.currentTimeMillis() ) / (3600 * 24) ) == -1
小葫芦
public boolean isYesterday(long time) {
    boolean isYesterday = false;
    Date date;
    try {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        date = sdf.parse(sdf.format(new Date()));
        if (time < date.getTime() && time > (date.getTime() - 24*60*60*1000)) {
            isYesterday = true;
        }
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return isYesterday;
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan