Java程序返回一个Date设置为午夜后一个月的第一个毫秒

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

我们首先声明一个日历对象-

Calendar dateNoon = 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));

以下是一个示例,该示例返回一个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.getMinimum(Calendar.HOUR_OF_DAY));
      calendar.set(Calendar.MINUTE, calendar.getMinimum(Calendar.MINUTE));
      calendar.set(Calendar.SECOND, calendar.getMinimum(Calendar.SECOND));
      //毫秒
      calendar.set(Calendar.MILLISECOND, calendar.getMinimum(Calendar.MILLISECOND));
      calendar.set(Calendar.DAY_OF_MONTH, 1); // first day of month
      System.out.println(calendar.getTime());
   }
}

输出结果

Thu Nov 01 00:00:00 UTC 2018