Java日历-特殊日子每两周一次

Java日历-特殊日子每两周一次,java,calendar,quartz-scheduler,Java,Calendar,Quartz Scheduler,如何创建Java日历,它将指向每两周的周二、周三下午5:30 Calendar cal = Calendar.getInstance(); 它应该是两个独立的日历吗?一个星期二,第二个星期三?你怎么能每两周去一次 我在谷歌上搜索过,但没有找到任何例子 你能帮我打电话吗?你只要用电话号码就行了 第%2年的第周[==或!=]0 您只需使用 第%2年的第周[==或!=]0 Calendar startWed=Calendar.getInstance(); startWed.set(日历。星期几,日历

如何创建Java日历,它将指向每两周的周二、周三下午5:30

Calendar cal = Calendar.getInstance();
它应该是两个独立的日历吗?一个星期二,第二个星期三?你怎么能每两周去一次

我在谷歌上搜索过,但没有找到任何例子


你能帮我打电话吗?

你只要用电话号码就行了

第%2年的第周[==或!=]0


您只需使用

第%2年的第周[==或!=]0

Calendar startWed=Calendar.getInstance();
startWed.set(日历。星期几,日历。星期三);
标准设置(日历小时,17);
标准设置(日历分钟,30);
Calendar startThu=Calendar.getInstance();
startThu.set(Calendar.DAY/周,Calendar.周四);
开始设置(日历小时,17);
开始设置(日历分钟,30);
对于(int i=0;i++<100;)
{
startWed.add(Calendar.DAY/OF/u YEAR,7*2);//每两周
startThu.add(Calendar.DAY,OF,7*2);//每两周
}
Calendar startWed=Calendar.getInstance();
startWed.set(日历。星期几,日历。星期三);
标准设置(日历小时,17);
标准设置(日历分钟,30);
Calendar startThu=Calendar.getInstance();
startThu.set(Calendar.DAY/周,Calendar.周四);
开始设置(日历小时,17);
开始设置(日历分钟,30);
对于(int i=0;i++<100;)
{
startWed.add(Calendar.DAY/OF/u YEAR,7*2);//每两周
startThu.add(Calendar.DAY,OF,7*2);//每两周
}
使用java.time 现代的方法是使用java.time类,而不是像
Calendar
这样麻烦的旧遗留类

LocalDate
该类表示一个仅限日期的值,不包含一天中的时间和时区

时区对于确定日期至关重要。在任何一个特定的时刻,世界各地的日期都因地区而异。例如,中午夜后几分钟是新的一天,而中仍然是“昨天”

大陆/地区
的格式指定,例如,或
太平洋/奥克兰
。切勿使用3-4个字母的缩写,如
EST
IST
,因为它们不是真正的时区,也不是标准化的,甚至不是唯一的(!)

TemporalAdjuster
该接口提供了可以对日期时间值进行调整的类。该类提供了几个方便的实现。一个获取使用枚举指定的下一个所需的星期天

通过添加周数获得后续周数

LocalDate followingTuesday = nextOrSameTuesday.plusWeeks( 1 );
要获得一个时刻,即时间线上的一个实际点,请将一天中所需的时间与时区一起应用,以获得一个对象


关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&

该项目现已启动,建议迁移到类

要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是

从哪里获得java.time类

  • 后来
    • 内置的
    • 标准JavaAPI的一部分,带有捆绑实现
    • Java9添加了一些次要功能和修复
    • 大部分java.time功能都在中向后移植到Java6和Java7
    • 该项目专门为Android采用了ThreeTen Backport(如上所述)
该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可以在这里找到一些有用的类,例如,和。

使用java.time 现代的方法是使用java.time类,而不是像
Calendar
这样麻烦的旧遗留类

LocalDate
该类表示一个仅限日期的值,不包含一天中的时间和时区

时区对于确定日期至关重要。在任何一个特定的时刻,世界各地的日期都因地区而异。例如,中午夜后几分钟是新的一天,而中仍然是“昨天”

大陆/地区
的格式指定,例如,或
太平洋/奥克兰
。切勿使用3-4个字母的缩写,如
EST
IST
,因为它们不是真正的时区,也不是标准化的,甚至不是唯一的(!)

TemporalAdjuster
该接口提供了可以对日期时间值进行调整的类。该类提供了几个方便的实现。一个获取使用枚举指定的下一个所需的星期天

通过添加周数获得后续周数

LocalDate followingTuesday = nextOrSameTuesday.plusWeeks( 1 );
要获得一个时刻,即时间线上的一个实际点,请将一天中所需的时间与时区一起应用,以获得一个对象


关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&

该项目现已启动,建议迁移到类

要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是

从哪里获得java.time类

  • 后来
    • 内置的
    • 标准JavaAPI的一部分,带有捆绑实现
    • Java9添加了一些次要功能和修复
    • 大部分java.time功能都在中向后移植到Java6和Java7
    • 该项目专门为Android采用了ThreeTen Backport(如上所述)

该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可能会在这里找到一些有用的课程,如、、和。

出于好奇:您是否考虑过使用Joda Time?它有这样的构造工具。@fge,我需要它
LocalDate nextOrSameTuesday = today.with( TemporalAdjusters.nextOrSame( DayOfWeek.TUESDAY );
LocalDate nextOrSameWednesday = today.with( TemporalAdjusters.nextOrSame( DayOfWeek.WEDNESDAY );
LocalDate followingTuesday = nextOrSameTuesday.plusWeeks( 1 );
LocalTime localTime = LocalTime.of( 17 , 30 );
ZonedDateTime zdt = ZonedDateTime.of( nextOrSameTuesday , localTime, z );