Documentation
¶
Index ¶
Constants ¶
View Source
const DateLayout = "2006-01-02"
Variables ¶
This section is empty.
Functions ¶
func NewDateOutOfRangeError ¶
func NewDateOutOfRangeError() error
func NewInvalidDateFormatError ¶
func NewInvalidDateFormatError() error
func NewInvalidDateRangeError ¶
func NewInvalidDateRangeError() error
func NewInvalidOffsetError ¶
func NewInvalidOffsetError() error
func NewUnsupportedCalendarError ¶
func NewUnsupportedCalendarError() error
Types ¶
type Calendar ¶
type Calendar interface {
// IsTradeDay 判断给定日期是否为交易日。
// day 进入实现后会先被规范化。
// 当日期格式非法或超出该日历支持范围时,返回 error。
IsTradeDay(day Date) (bool, error)
// PrevTradeDay 返回给定日期的前一个交易日。
// day 进入实现后会先被规范化,且本身不必是交易日。
PrevTradeDay(day Date) (Date, error)
// NextTradeDay 返回给定日期的后一个交易日。
// day 进入实现后会先被规范化,且本身不必是交易日。
NextTradeDay(day Date) (Date, error)
// OffsetTradeDay 返回交易日偏移结果。
// offset > 0 时,返回 day 之后的第 offset 个交易日,不包含 day 当天。
// offset < 0 时,返回 day 之前的第 -offset 个交易日,不包含 day 当天。
// offset == 0 时,仅当 day 当天是交易日时返回 day,否则返回 error。
// day 进入实现后会先被规范化,且本身不必是交易日。
OffsetTradeDay(day Date, offset int) (Date, error)
// ListTradeDays 返回闭区间 [start, end] 内的交易日列表。
// start 和 end 进入实现后都会先被规范化。
// start 和 end 的 Location 必须一致。
// 当日期格式非法、日期区间非法或超出该日历支持范围时,返回 error。
ListTradeDays(start, end Date) ([]Date, error)
}
Calendar 表示某一类市场的交易日历。 所有日期参数都必须使用 2006-01-02 格式。
type CalendarDate ¶
type CalendarDate struct {
// contains filtered or unexported fields
}
CalendarDate 是日历内部使用的日期载体。 它同时保留规范化后的日期字符串和解析后的 time.Time, 方便后续业务逻辑按需直接取用。
func NewCalendarDateFromTime ¶
func NewCalendarDateFromTime(day time.Time) *CalendarDate
func (*CalendarDate) AddDays ¶
func (day *CalendarDate) AddDays(days int) *CalendarDate
AddDays 返回增加或减少指定天数后的新日期。
func (*CalendarDate) Date ¶
func (day *CalendarDate) Date() Date
func (*CalendarDate) IsSupportedYear ¶
func (day *CalendarDate) IsSupportedYear(minYear, maxYear int) bool
func (*CalendarDate) IsWeekend ¶
func (day *CalendarDate) IsWeekend() bool
func (*CalendarDate) Time ¶
func (day *CalendarDate) Time() time.Time
type Date ¶
type Date string
Date 表示一个日期字符串,固定格式为 2006-01-02。
func (Date) ToCalendarDate ¶
func (day Date) ToCalendarDate(location *time.Location) (*CalendarDate, error)
ToCalendarDate 对日期做预检查并转换为内部日期对象。
type Error ¶
type Error string
Error 是本项目唯一公开错误类型。
func (Error) IsDateOutOfRange ¶
func (Error) IsInvalidDateFormat ¶
func (Error) IsInvalidDateRange ¶
func (Error) IsInvalidOffset ¶
func (Error) IsUnsupportedCalendar ¶
Click to show internal directories.
Click to hide internal directories.