rrule.js
rrule.js 介绍
rrule.js
用于处理日历日期重复规则的库。rrule.js支持iCalendar RFC中定义的重复规则,但有一些重要 区别。它是rrule出色的python-dateutil库中模块 的部分端口 。最重要的是,它支持自然语言往返规则的解析和序列化。
安装
$ yarn add rrule
# or
$ npm install rrule
用法
import { RRule,RRuleSet,rrulestr } from 'rrule'
// Create a rule:
const rule = new RRule({
freq: RRule.WEEKLY,
interval: 5,
byweekday: [RRule.MO,RRule.FR],
dtstart: new Date(Date.UTC(2012,1,10,30)),
until: new Date(Date.UTC(2012,12,31))
})
// Get all occurrence dates (Date instances):
rule.all()
[ '2012-02-03T10:30:00.000Z',
'2012-03-05T10:30:00.000Z',
'2012-03-09T10:30:00.000Z',
'2012-04-09T10:30:00.000Z',
'2012-04-13T10:30:00.000Z',
'2012-05-14T10:30:00.000Z',
'2012-05-18T10:30:00.000Z',
/* … */]
// Get a slice:
rule.between(new Date(Date.UTC(2012,7,1)),new Date(Date.UTC(2012,8,1)))
['2012-08-27T10:30:00.000Z',
'2012-08-31T10:30:00.000Z']
// Get an iCalendar RRULE string representation:
// The output can be used with RRule.fromString().
rule.toString()
"DTSTART:20120201T093000ZnRRULE:FREQ=WEEKLY;INTERVAL=5;UNTIL=20130130T230000Z;BYDAY=MO,FR"
// Get a human-friendly text representation:
// The output can be used with RRule.fromText().
rule.toText()
"every 5 weeks on Monday,Friday until January 31,2013"
网站地址:https://jakubroztocil.github.io/rrule
GitHub:https://github.com/jakubroztocil/rrule
网站描述:用来处理递归规则日历日期的JavaScript库