DateComponents 类提供了一种灵活的方式,用于表示和操作日期与时间的各个组成部分,例如年、月、日、小时、分钟、秒等。该类基于 Swift 的 DateComponents 实现,并与系统当前日历协同工作。
构造函数可接收一个可选的 options 对象,用于初始化各个日期字段:
DateComponents.fromDate(date: Date): DateComponents从给定的 Date 对象中提取所有可用的日期组成部分(年、月、日、小时、分钟、秒、纳秒),返回一个新的 DateComponents 实例。
date (Date):需要提取信息的日期对象。DateComponents 实例。DateComponents.forHourly(date: Date): DateComponents为“每小时重复”的需求创建一个日期组件,仅设置 minute 字段。
minuteDateComponents.forDaily(date: Date): DateComponents为“每天重复”的需求创建一个日期组件,设置 hour 和 minute 字段。
hour, minuteDateComponents.forWeekly(date: Date): DateComponents为“每周重复”的需求创建一个日期组件,设置 weekday、hour、minute 字段。
weekday, hour, minuteDateComponents.forMonthly(date: Date): DateComponents为“每月重复”的需求创建一个日期组件,设置 day、hour、minute 字段。
day, hour, minutedate?: Date | null
使用当前组件通过系统日历计算得出的 Date 对象。如果无效则为 null。
isValidDate: boolean
当前组件组合是否构成一个有效日期。
以下所有字段均为可选,可设为 number 或 null:
era:纪元
year:年份
yearForWeekOfYear:与周数关联的年份
quarter:季度(1 到 4)
month:月份(1 到 12)
isLeapMonth:是否为闰月(布尔值)
weekOfMonth:当前月份中的第几周
weekOfYear:当前年份中的第几周
weekday:星期几(1 = 星期日,2 = 星期一,…,7 = 星期六)
weekdayOrdinal:某星期几在当前月中第几次出现
day:每月中的某一天
hour:小时(0 到 23)
minute:分钟(0 到 59)
second:秒(0 到 59)
nanosecond:纳秒(0 到 999,999,999)
dayOfYear:一年中的第几天(1 到 366)
date 和 isValidDate 的计算依赖系统当前的日历设置。forHourly、forDaily、forWeekly、forMonthly 方法快速创建周期性日期组件,适用于通知调度、事件提醒等场景。