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));
现在,对以下月份和月份进行以下操作:
calendar.set(Calendar.DAY_OF_MONTH, 1); // first day of month calendar.add(Calendar.MONTH, 1); calendar.add(Calendar.DAY_OF_MONTH, -1);
以下是将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)); 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