14B. Date & Time
m0=: 6!:0 |
System time stamp yyyy mm dd hh mm ss (argument y needed but ignored) |
m1=: [:<._3:{.] |
hh mm ss part of time stamp |
m2=: 1000"_ #. ] |
Base-1000 form of y |
m3=: (':'"_) _6 _3} ": |
Format with ':' between fields |
m4=: [:<.3:{.] |
yyyy mm dd part of time stamp |
m5=: ('/'"_) 4 7} ": |
Format with '/' between fields |
m6=: [: m3 [: m2 [: m1 m0 |
Formatted time stamp hh:mm:ss |
m7=: [: m5 [: m2 [: m4 m0 |
Formatted date stamp yyyy/mm/dd |
m8=: (':'"_) 2 5} [: ": 1000"_ #. _3: {. [: <. m0 |
Formatted time stamp hh:mm:ss |
m9=: ('/'"_) 4 7} [: ": 1000"_ #. 3: {. [: <. m0 |
Formatted date stamp yyyy.mm/dd |
m10=: 100"_#.100"_|3:{. m0 |
yymmdd from ccyy mm dd (y neglected) |
m11=: 0: ~:/ .= 4 100 400"_ |/ ] |
Is y a leap year? |
m12=: 28"_ + m11@] |
Number of days in February of year y |
d13=: 31"_ - 2: | 7: | [ |
31 - 2 | 7 | x: days in month x, not = 1 |
d14=: d13`m12@.([=1:) |
Number of days in month x of year y |
m15=: ('0123456789 '"_ i.[:":[:|. 3: {. 6!:0) { ('0123456789.'"_) |
Current date in dd.mm.yy fmt, neglect y |
m16=: ((12"_ <: {.),2:) { 'apm'"_ |
am or pm depending on first atom of y |
m17=: ([: m3 m2) , (' '"_ , m16) |
Formatted 3-atom time y in 'm' form |
m18=: [:":[:(1:|.])100"_|[:m4 m0 |
Formatted date in mm dd yy form |
m19=: '/'"_(]#[:i.#)@(' '"_=])}] |
Replace blanks in y by '/' |
m20=: m19@m18 |
Formatted date in mm/dd/yy form |
m21=: >:@(365&* + m22)@(-&1601) |
# of New Years Day, Gregorian year y; m21 1601 is 1 |
m22=: -/@:<.@(%&4 100 400)"0 |
# of leap days in y years (Clavian corr.) |
m23=: 7&|@m21 |
Day of week year y begins (0=Sunday) |
Number of New Years Day for Gregorian years.
m21 1601 1602 2001 1 366 146098
Number of leap days in y years
m22 0 1 4 100 400 2000 0 0 1 24 97 485
Day of week year y begins (0 is Sunday)
m23 1900 2000 1 6
