如何在java中使用Gregorian Calendar和Date获取一天的开始

时间:2012-04-08 08:29:47

标签: java date gregorian-calendar

我正在尝试标记过去3天内创建的数据的日期。我想从头开始(00:00)过去3天。

我有这段代码:

    int days = 3 
    GregorianCalendar gc=new GregorianCalendar();
    gc.add(GregorianCalendar.DAY_OF_MONTH, -days);
    if (timeCreated.before(gc.getTime())) {
        return true;
    }
    return false;

如果当前时间是16:00时钟我从过去的3点开始,从16:00到现在。 我想从3天前的00:00到现在。

先谢谢了。

2 个答案:

答案 0 :(得分:5)

将日历对象中的小时,分​​钟和秒设置为零。

gc.set(GregorianCalendar.HOUR_OF_DAY, 0);
gc.set(GregorianCalendar.MINUTE, 0);
gc.set(GregorianCalendar.SECOND, 0);
gc.set(GregorianCalendar.MILLISECOND,0);

请记住在调用gc.add之后执行此操作。

答案 1 :(得分:1)

尝试

gc.set(GregorianCalendar.HOUR_OF_DAY,0);
gc.set(GregorianCalendar.MINUTE,0);
gc.set(GregorianCalendar.SECOND,0);
gc.set(GregorianCalendar.MILLISECOND,0);