Documentation
¶
Index ¶
- Constants
- Variables
- func StrToDates(str string) (ts []time.Time, err error)
- type Frequency
- type Next
- type ROption
- type RRule
- type Set
- func (set *Set) After(dt time.Time, inc bool) time.Time
- func (set *Set) All() []time.Time
- func (set *Set) Before(dt time.Time, inc bool) time.Time
- func (set *Set) Between(after, before time.Time, inc bool) []time.Time
- func (set *Set) DTStart(dtstart time.Time)
- func (set *Set) ExDate(exdate time.Time)
- func (set *Set) ExRule(exrule *RRule)
- func (set *Set) GetDTStart() time.Time
- func (set *Set) GetExDate() []time.Time
- func (set *Set) GetExRule() []*RRule
- func (set *Set) GetRDate() []time.Time
- func (set *Set) GetRRule() []*RRule
- func (set *Set) Iterator() (next func() (time.Time, bool))
- func (set *Set) RDate(rdate time.Time)
- func (set *Set) RRule(rrule *RRule)
- func (set *Set) Recurrence() []string
- func (set *Set) String() string
- type Weekday
Constants ¶
const ( // DateTimeFormat is date-time format used in iCalendar (RFC 5545) DateTimeFormat = "20060102T150405Z" // LocalDateTimeFormat is a date-time format without Z prefix LocalDateTimeFormat = "20060102T150405" // DateFormat is date format used in iCalendar (RFC 5545) DateFormat = "20060102" )
const (
MAXYEAR = 9999
)
MAXYEAR
Variables ¶
var ( M366MASK []int M365MASK []int MDAY366MASK []int MDAY365MASK []int NMDAY366MASK []int NMDAY365MASK []int WDAYMASK []int M366RANGE = []int{0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366} M365RANGE = []int{0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365} )
Every mask is 7 days longer to handle cross-year weekly periods.
var ( MO = Weekday{/* contains filtered or unexported fields */} TU = Weekday{/* contains filtered or unexported fields */} WE = Weekday{/* contains filtered or unexported fields */} TH = Weekday{/* contains filtered or unexported fields */} FR = Weekday{/* contains filtered or unexported fields */} SA = Weekday{/* contains filtered or unexported fields */} SU = Weekday{/* contains filtered or unexported fields */} )
Weekdays
Functions ¶
Types ¶
type Next ¶
Next is a generator of time.Time. It returns false of Ok if there is no value to generate.
type ROption ¶
type ROption struct {
Freq Frequency
Dtstart time.Time
Interval int
Wkst Weekday
Count int
Until time.Time
Bysetpos []int
Bymonth []int
Bymonthday []int
Byyearday []int
Byweekno []int
Byweekday []Weekday
Byhour []int
Byminute []int
Bysecond []int
Byeaster []int
RFC bool
}
ROption offers options to construct a RRule instance
func StrToROption ¶
StrToROption converts string to ROption
func StrToROptionInLocation ¶ added in v1.0.1
StrToROptionInLocation is same as StrToROption but in case local time is supplied as date-time/date field (ex. UNTIL), it is parsed as a time in a given location (time zone)
type RRule ¶
type RRule struct {
OrigOptions ROption
// contains filtered or unexported fields
}
RRule offers a small, complete, and very fast, implementation of the recurrence rules documented in the iCalendar RFC, including support for caching of results.
func StrToRRule ¶
StrToRRule converts string to RRule
func (*RRule) After ¶
After returns the first recurrence after the given datetime instance, or time.Time's zero value if no recurrence match. The inc keyword defines what happens if dt is an occurrence. With inc == True, if dt itself is an occurrence, it will be returned.
func (*RRule) Before ¶
Before returns the last recurrence before the given datetime instance, or time.Time's zero value if no recurrence match. The inc keyword defines what happens if dt is an occurrence. With inc == True, if dt itself is an occurrence, it will be returned.
type Set ¶
type Set struct {
// contains filtered or unexported fields
}
Set allows more complex recurrence setups, mixing multiple rules, dates, exclusion rules, and exclusion dates
func StrSliceToRRuleSet ¶
StrSliceToRRuleSet converts given str slice to RRuleSet
func StrToRRuleSet ¶
StrToRRuleSet converts string to RRuleSet
func (*Set) After ¶
After returns the first recurrence after the given datetime instance, or time.Time's zero value if no recurrence match. The inc keyword defines what happens if dt is an occurrence. With inc == True, if dt itself is an occurrence, it will be returned.
func (*Set) Before ¶
Before Returns the last recurrence before the given datetime instance, or time.Time's zero value if no recurrence match. The inc keyword defines what happens if dt is an occurrence. With inc == True, if dt itself is an occurrence, it will be returned.
func (*Set) Between ¶
Between returns all the occurrences of the rrule between after and before. The inc keyword defines what happens if after and/or before are themselves occurrences. With inc == True, they will be included in the list, if they are found in the recurrence set.
func (*Set) ExDate ¶
ExDate include the given datetime instance in the recurrence set exclusion list. Dates included that way will not be generated, even if some inclusive rrule or rdate matches them.
func (*Set) ExRule ¶
ExRule include the given rrule instance in the recurrence set exclusion list. Dates which are part of the given recurrence rules will not be generated, even if some inclusive rrule or rdate matches them.
func (*Set) GetDTStart ¶ added in v1.2.0
GetDTStart gets dtstart for set
func (*Set) Recurrence ¶
Recurrence returns a slice of all the recurrence rules for a set
type Weekday ¶
type Weekday struct {
// contains filtered or unexported fields
}
Weekday specifying the nth weekday. Field N could be positive or negative (like MO(+2) or MO(-3). Not specifying N (0) is the same as specifying +1.