跳到主要内容

范围和时间段

Morrow 可以偏移日期、查找时间框架边界,并遍历时间点或时间段。

偏移

var shifted = Morrow(2026, 1, 1).shift(months=1, weeks=1, hours=2)
print(shifted)

按月、季度、年偏移时,如果目标月份没有对应日期,会夹到该月最后一天。

floor、ceiling 和 span

var value = Morrow(2026, 1, 1, 13, 14, 15)
var hour = value.span("hour")

print(hour.start)
print(hour.end)
print(value.floor("day"))
print(value.span("hour", exact=True).start)

支持的框架包括 year、quarter、month、week、day、hour、minute、second 和 microsecond。

范围

var start = Morrow(2026, 1, 1, 12, 30, 0, 0, TimeZone.from_utc("UTC"))
var end = Morrow(2026, 1, 1, 17, 15, 0, 0, TimeZone.from_utc("UTC"))

var points = Morrow.range("hour", start, end)
var spans = Morrow.span_range("hour", start, end)

print(points[0])
print(spans[0].start)

可以使用 limitboundsexactweek_start 调整遍历行为。