on 140ac0e help sign in
48 lines 980 B history raw
1### `++lead`
3Subtract leap seconds
5Produces an absolute date ([`@ud`]()) with the 25 leap seconds
6subtracted.
8Accepts
9-------
11`ley` is a [`++date`]().
13Produces
14--------
16An atom of [odor]() [`@da`](), which represents an absolute date.
18Source
19------
21 ++ lead :: from leap sec time
22 |= ley=date
23 =+ ler=(year ley)
24 =+ n=0
25 |- ^- @da
26 =+ led=(sub ler (mul n ~s1))
27 ?: (gte ler (add (snag n les:yu) ~s1))
28 led
29 ?: &((gte ler (snag n les:yu)) (lth ler (add (snag n les:yu) ~s1)))
30 ?: =(s.t.ley 60)
31 (sub led ~s1)
32 led
33 ?: =(+(n) (lent les:yu))
34 (sub led ~s1)
35 $(n +(n))
36 ::
38Examples
39--------
41 ~zod/try=> (yore `@da`(bex 127))
42 [[a=%.y y=226] m=12 t=[d=5 h=15 m=30 s=8 f=~]]
43 ~zod/try=> (lead (yore `@da`(bex 127)))
44 ~226.12.5..15.29.43
45 ~zod/try=> (lead (yore `@da`(bex 126)))
46 ~146138512088-.6.19..07.44.39