Java 如何在Calendar.DAY\u OF_WEEK上设置一些天
我需要在方法集中设置一些天。我尝试使用:Java 如何在Calendar.DAY\u OF_WEEK上设置一些天,java,calendar,java.util.calendar,Java,Calendar,Java.util.calendar,我需要在方法集中设置一些天。我尝试使用: c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY); 但这条路只定在周三 感谢您并为我的英语感到抱歉:)日历的功能不符合您的预期。从JavaDoc: Calendar类是一个抽象类,它为 在特定时间和一组日历之间转换 字段,如年、月、月的日、小时等,以及 操作日历字段,例如获取下一个日历的日期 周。时间上的一个瞬间可以
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
但这条路只定在周三
感谢您并为我的英语感到抱歉:)日历的功能不符合您的预期。从JavaDoc: Calendar类是一个抽象类,它为 在特定时间和一组日历之间转换 字段,如年、月、月的日、小时等,以及 操作日历字段,例如获取下一个日历的日期 周。时间上的一个瞬间可以用毫秒值表示 这是从1970年1月1日00:00:00.000 GMT的纪元偏移量 (格里高利) 请注意,文档中说明了一个
特定的时间瞬间
。这意味着日历只能基于历元中的一个时间点
当您使用set
方法时,您正在通过每次调用调整特定的时间瞬间。所以先定在周一,然后定在周三
您可以使用列表
存储设置为所需日期的多个日历
实例
public class CalendarTest {
public static void main(String[] args) {
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
cal2.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
List<Calendar> calendars = Arrays.asList(cal1, cal2);
}
}
公共类日历测试{
公共静态void main(字符串[]args){
Calendar cal1=Calendar.getInstance();
Calendar cal2=Calendar.getInstance();
cal1.set(日历。星期几,日历。星期一);
cal2.set(日历。星期几,日历。星期三);
列表日历=Arrays.asList(cal1,cal2);
}
}
您能提供更多关于您打算做什么的信息吗java.util.Calendar
与谷歌日历或类似日历完全不同,它只代表一个给定的日期时间(可能这就是混乱的根源)。谢谢你,我能用不同的方式实现吗?@Maxim很高兴我能帮上忙!感谢您演示如何使用现代的LocalDate
类,而不是过时且设计拙劣的日历
。当我读到这个问题时,你并没有完全理解被问到的问题。
public static String getDay(String day,String month,String year){
int mm = Integer.parseInt(month);
int dd = Integer.parseInt(day);
int yy = Integer.parseInt(year);
LocalDate dt = LocalDate.of(yy, mm, dd);
return dt.getDayOfWeek().toString().toUpperCase();
}