获取基准时间戳,默认为当前时间
如果在预设配置中提供了 benchmarkDateTime,则直接使用该时间戳作为基准时间;否则,返回当前时间的时间戳。 该方法主要用于在计算学期开始时间和基准学期时,提供一个可配置的基准时间,以便进行更灵活的日期计算。
获取基准学期(1 或 2),根据当前日期与学期开始时间的关系进行计算
如果在预设配置中提供了 benchmarkSemester,则直接使用该学期值;否则,根据当前日期与基准学年第一学期和第二学期的开始时间的关系,确定基准学期。 具体来说,如果当前日期在基准学年第一学期的开始时间之前,则基准学期为 2;如果当前日期在基准学年第一学期和第二学期的开始时间之间,则基准学期为 1;如果当前日期在基准学年第二学期的开始时间之后,则基准学期为 2。 该方法主要用于在计算与学期相关的日期时,提供一个可配置的基准学期,以便进行更灵活的日期计算。
是否提前计算学期开始时间,默认为 false。如果为 true,则第一学期的开始时间会提前 10 天,第二学期的开始时间会提前 15 天。这会影响基准学期的计算结果。 例如,如果当前日期在第一学期开始时间之前,但在提前计算后的第一学期开始时间之后,则基准学期将被视为 1;如果当前日期在第二学期开始时间之前,但在提前计算后的第二学期开始时间之后,则基准学期将被视为 2。 该参数主要用于在某些场景下需要提前计算学期相关日期的情况,以便更准确地确定基准学期。
获取基准年份,默认为当前年份,且在每年 8 月 20 日前视为上一学年
如果在预设配置中提供了 benchmarkYear,则直接使用该年份作为基准年份;否则,根据当前日期与每年 8 月 20 日的关系,确定基准年份。 具体来说,如果当前日期在当年 8 月 20 日之前,则基准年份为当前年份减 1;如果当前日期在当年 8 月 20 日或之后,则基准年份为当前年份。 该方法主要用于在计算学期开始时间和基准学期时,提供一个可配置的基准年份,以便进行更灵活的日期计算。
计算指定学年和学期的开始时间
学年年份,例如 2025 表示 2025-2026 学年
学期,1 表示第一学期,2 表示第二学期
是否提前计算学期开始时间,默认为 false。如果为 true,则第一学期的开始时间会提前 10 天,第二学期的开始时间会提前 15 天。
静态of
SchoolDays 提供了基于学年、学期和周次等时间语义的日期计算功能,适用于学校相关的时间计算场景。
主要功能包括:
semesterStart(year, semester, isInAdvance): 计算指定学年和学期的开始时间,支持提前计算。benchmarkDateTime(): 获取基准时间戳,默认为当前时间。benchmarkYear(): 获取基准年份,默认为当前年份,且在每年 8 月 20 日前视为上一学年。benchmarkSemester(isInAdvance): 获取基准学期(1 或 2),根据当前日期与学期开始时间的关系进行计算。