# 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 Year’s 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 Year&#146;s 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
```