Java程序返回一个Date设置为午夜前一天的最后一个毫秒

让我们首先设置日历对象。

Calendar calendar = Calendar.getInstance();

使用getMaximum()Java中的方法返回给定日历字段的最大值。我们将使用它来设置分钟,小时和毫秒。

一小时又一分钟。

calendar.set(Calendar.HOUR_OF_DAY, calendar.getMaximum(Calendar.HOUR_OF_DAY));
calendar.set(Calendar.MINUTE, calendar.getMaximum(Calendar.MINUTE));

秒和毫秒。

//第二
calendar.set(Calendar.SECOND, calendar.getMaximum(Calendar.SECOND));
//毫秒
calendar.set(Calendar.MILLISECOND, calendar.getMaximum(Calendar.MILLISECOND));

下面是一个示例,该示例返回一个Date设置为午夜前一天的最后一个毫秒。

示例

import java.util.Calendar;
import java.util.GregorianCalendar;
public class Demo {
   public static void main(String[] argv) throws Exception {
      Calendar calendar = Calendar.getInstance();
      //小时和分钟
      calendar.set(Calendar.HOUR_OF_DAY, calendar.getMaximum(Calendar.HOUR_OF_DAY));
      calendar.set(Calendar.MINUTE, calendar.getMaximum(Calendar.MINUTE));
      //第二
      calendar.set(Calendar.SECOND, calendar.getMaximum(Calendar.SECOND));
      //毫秒
      calendar.set(Calendar.MILLISECOND, calendar.getMaximum(Calendar.MILLISECOND));
      System.out.println(calendar.getTime());
   }
}

输出结果

Fri Nov 23 23:59:59 UTC 2018