次ã®APLã®å¼ãä½ãè¨ç®ãã¦ãããããã£ãããªãã¯...
ãããAPLã«ã¯ã¾ã£ã¦ããï¼
http://homepage3.nifty.com/ysaigusa/jp/apl/guide/index.html
ãããã¯ã¾ã£ã¦ã¯ããªãã®ã§ãããã ãããã¯åããã®ã§ Squeak Smalltalk ã«æè¨³ãã¦åããè¦ã¦ã¿ããã¹ãã
| D U M Y G | D := #(1997 12 8). U := (D first \\ 100 ~= 0 and: [D first \\ 4 = 0]) or: [D first \\ 400 = 0]. U := U ifTrue: [1] ifFalse:[0]. M := {0. 31. 28 + U. 31. 30. 31. 30. 31. 31. 30. 31. 30}. M := (1 to: M size) collect: [:idx | (M first: idx) sum]. Y := D first - 1. U := {Y. Y. Y} // #(4 100 400). G := (M at: D second) + D third + (365 * Y) + U first + U third - U second. G "=> 729366 "
ä¸ã¤ç®ã® U ã¯ãããããªãã¨ãã¦ãM ã¨äºã¤ç®ã® U ãã¡ãã£ã¨æ®å¿µãªãã¨ã«ã
DateAndTime ãªãã¸ã§ã¯ãåå£«ã®æ¼ç®æ©è½ã使ã£ã¦ç´ ç´ã«æ¸ãã°ããããªãµãã§ããããã
| origin | origin := (Date year: 1 month: 1 day: 1) - 1 day. ('12-8-1997' asDate - origin) days "=> 729366 "
