def Date.of_z

bend-kit-time@0.3.0.0 · time.bend:234

import bend-kit-time@0.3.0.0/time.bend as Time
import Base

234def Date.of_z(+z: U32) -> Date:
235  +era = (z / 146097 : U32)
236  +doe = (z - era * 146097 : U32)
237  +yoe = ((doe - doe / 1460 + doe / 36524 - doe / 146096) / 365 : U32)
238  +doy = (doe - (365 * yoe + yoe / 4 - yoe / 100) : U32)
239  +mp = ((5 * doy + 2) / 153 : U32)
240  Date.of_z.fin(U32.is_lt(mp, 10), (yoe + era * 400 : U32), mp,
241    (doy - (153 * mp + 2) / 5 + 1 : U32))

Uses (8)

Used by (1)