首页 > 解决方案 > 如何一次为日历对象设置多个属性?

问题描述

这是我现有的代码片段:

Calendar cal = Calendar.getInstance();  
cal.set(Calendar.HOUR_OF_DAY, 0);  
cal.set(Calendar.MINUTE, 0);  
cal.set(Calendar.SECOND, 0);  
cal.set(Calendar.MILLISECOND, 0);  

我只想一次分配这些属性,例如:

Calendar cal = Calendar.getInstance();  
cal.set(Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND, 0);   

我不确定这是否可能,因为我是 Java 新手。如果有其他方法可以实现这一点,请帮助我。

如果可能,请也提供其他解决方案。目标是将给定cal对象设置为00:00:00.000AM

标签: javadatetimecalendar

解决方案


如果可能,请避免使用遗留Calendar类。请使用 java.time 包中的类,例如:

LocalDateTime todayAtStartOfDay = LocalDate.now().atStartOfDay();

但如果Calendar必须使用,则考虑使用Calendar.Builder,例如:

Calendar cal = new Calendar.Builder()
            .setTimeOfDay(0, 0, 0, 0)  // hour, minute, second, millis
            .build();

推荐阅读