first commit
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
from datetime import datetime
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
from packages.domain.buckets import shanghai_bucket, shanghai_bucket_hour, shanghai_day
|
||||
|
||||
_SH = ZoneInfo("Asia/Shanghai")
|
||||
|
||||
|
||||
def _ms(y, m, d, hh, mm=0):
|
||||
return int(datetime(y, m, d, hh, mm, tzinfo=_SH).timestamp() * 1000)
|
||||
|
||||
|
||||
def test_shanghai_day():
|
||||
# UTC 2026-07-31 16:00 = 上海 2026-08-01 00:00
|
||||
ts = int(datetime(2026, 7, 31, 16, 0, tzinfo=ZoneInfo("UTC")).timestamp() * 1000)
|
||||
assert shanghai_day(ts) == "2026-08-01"
|
||||
|
||||
|
||||
def test_bucket_hour():
|
||||
ts = _ms(2026, 7, 31, 14, 35)
|
||||
assert shanghai_bucket(ts, 60) == 14 * 60
|
||||
assert shanghai_bucket_hour(ts) == 14
|
||||
|
||||
|
||||
def test_bucket_30m():
|
||||
ts = _ms(2026, 7, 31, 14, 35)
|
||||
assert shanghai_bucket(ts, 30) == 14 * 60 + 30
|
||||
Reference in New Issue
Block a user