Java程序返回日期,设置为午夜前一个月最后可能的毫秒数


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

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

Calendar dateNoon = Calendar.getInstance();

现在,我们将小时、分钟、秒和毫秒设置为午夜前一个月最后可能的毫秒数。

// hour, minute and second
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));
// millisecond
calendar.set(Calendar.MILLISECOND, calendar.getMaximum(Calendar.MILLISECOND));

现在,对月份和日期执行以下操作:

calendar.set(Calendar.DAY_OF_MONTH, 1); // first day of month
calendar.add(Calendar.MONTH, 1);
calendar.add(Calendar.DAY_OF_MONTH, -1);

以下是一个返回日期的示例,该日期设置为午夜前一个月最后可能的毫秒数:

示例

 现场演示

import java.util.Calendar;
import java.util.GregorianCalendar;
public class Demo {
   public static void main(String[] argv) throws Exception {
      Calendar calendar = Calendar.getInstance();
      // hour, minute and second
      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));
      // millisecond
      calendar.set(Calendar.MILLISECOND, calendar.getMaximum(Calendar.MILLISECOND));
      calendar.set(Calendar.DAY_OF_MONTH, 1); // first day of month
      calendar.add(Calendar.MONTH, 1);
      calendar.add(Calendar.DAY_OF_MONTH, -1);
      System.out.println(calendar.getTime());
   }
}

输出

Fri Nov 30 23:59:59 UTC 2018

更新于: 2019年7月30日

279 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告