西暦年と時分秒
   1  西暦年
   2  干支
   3  \(\(\ \)\(閏年\)\)
   4  \(\(\ \)\(時分秒と秒\)\)
   5  経過時間
   6  経過日数

1  西暦年    \((1868  以上を入力する)\)                                                         \(\(メニュ\)\(-\)\)

\(\(s = {{1868, 明治}, {1912, 大正}, {1926, 昭和}, {1989, 平成}, {3000, 世紀末}};\)\)

qy := 2999

cond = True;
For[i = 1, 
        cond == True, i++, 
If[
          qy >= s[[i]][[1]], cond := True, 
          cond := False]];
Print[s[[i - 2]][[2]], 
      qy - s[[i - 2]][[1]] + 1]

2  干支                                                                                     \(\(メニュ\)\(-\)\)

\(\(eto = {ネ, ウシ, トラ, ウ, タツ, ミ, ウマ, ヒツジ, サル, トリ, イヌ, イ};\)\)
k = 1984;
qy = 2001;
Print["\:897f\:66a6", qy, "\:5e74\:306f", 
      eto[[Mod[qy - k, 12] + 1]], "\:3067\:3059"]

\(etoQ[qy_] := 
      Module[{}, 
        eto = {ネ, ウシ, トラ, ウ, タツ, ミ, ウマ, ヒツジ, サル, トリ, イヌ, イ}; 
Print["西暦", 
          qy, "年は", 
          eto[\([Mod[qy - 1984, 12] + 1]\)], "です"]]\)

etoQ[{2001, 2002, 2003}]

3  閏年                                                                                        \(\(メニュ\)\(-\)\)

yyyy = 1992;

If[Or[Mod[yyyy, 4] ≠ 0 , 
        And[Mod[yyyy, 100] == 0 , 
          Mod[yyyy/100, 4] ≠ 0]], 
Print[
        yyyy, "\:5e74\:306f\:5e73\:5e74\:3067\:3059."], 
      Print[yyyy, "\:5e74\:306f\:958f\:5e74\:3067\:3059."]]

uruuQ[y_] := 
      Module[{}, 
        If[Or[Mod[y, 4] ≠ 0 , 
            And[Mod[y, 100] == 0 , 
              Mod[y/100, 4] ≠ 0]], 
Print[
            y, "\:5e74\:306f\:5e73\:5e74\:3067\:3059."], 
          Print[y, "\:5e74\:306f\:958f\:5e74\:3067\:3059."]]]

uruuQ[2001]

4  時分秒と秒                                                                       \(\(メニュ\)\(-\)\)

h = 11;  m = 59;  s = 59;
ss = h*3600 + m*60 + s

ssQ[h_, m_, s_] := h*3600 + m*60 + s

ssQ[11, 59, 59]

ss = 43199;
h = Quotient[ss, 3600]
hr = Mod[ss, 3600];
m = Quotient[hr, 60]
s = Mod[hr, 60]

hmsQ[ss_] := 
      Module[{}, 
       h = 
          Quotient[ss, 3600]; 
       hr = 
          Mod[ss, 3600]; 
       m = 
          Quotient[hr, 60]; 
       s = 
          Mod[hr, 60]; 
       Print[
          ss, "\:79d2\:306f ", h, "\:6642\:9593 ", m, "\:5206 ", 
          s, "\:79d2\:3067\:3059"]]

hmsQ[43199]

5  経過時間                                                                       \(\(メニュ\)\(-\)\)

\(4\ の関数定義を用いる\)

keikaQ[sh_, sm_, ss_, eh_, em_, 
        es_] := 
           hmsQ[
        ssQ[eh, em, es] - ssQ[sh, sm, sm] - 1]

keikaQ[1, 2, 3, 4, 5, 6]

?ssQ

?hmsQ

6  経過日数                                                            \(\(メニュ\)\(-\)\)

\(組込み関数\ Date, \ FromDate, \ 
        ToDate\ を利用する\)

?Date

Date[]

?ToDate

?FromDate

ToDate[10000000]
FromDate[%]

\({y1, m1, d1, h1, m1, s1} から {y2, m2, d2, h2, m2, 
        s2}\ までの経過日時を計算\)
\({2001, 1, 1, 12, 0, 0} から\ {2001, 3, 31, 12, 0, 
        0} まで\)
\(経過年数が1900年からになるので\ \ 修正する\)

ToDate[
        FromDate[{2001, 3, 31, 13, 1, 2}] -  
          FromDate[{2001, 1, 1, 12, 0, 0}]] - {1900, 0, 0, 0, 0, 
        0}

\(生まれてから何年何ヶ月か\)
\(\(\(定年まであと何日か\)\(?\)\)\)