« 十二支の干支(えと)を求めたい | メイン | ファイルの詳細な情報を取得したい »

カテゴリー:カレンダー(日付) 

旧暦(太陰太陽暦)の月名を取得する

このエントリーを含むはてなブックマーク  livedoorクリップ  旧暦(太陰太陽暦)の月名を取得するをdel.icio.usに追加  旧暦(太陰太陽暦)の月名を取得するをYahoo!ブックマークに追加  旧暦(太陰太陽暦)の月名を取得するをニフティクリップに追加

1月を日本では睦月(むつき)とも呼ぶ。このような旧暦の名称を取得するにはどうすれば良いだろう?

睦月から順番に配列に入れ、localtimeの4番目の戻り値をそのまま添え字として使用するだけで良い。忘れがちだが、localtimeが返す月の番号は0~11だ。おそらくこういった用途のための仕様と思われる(Cなど、Perl以外の言語もほぼ似たような感じだっていうか、元になってるのはCなわけだが)

;#
;#旧暦の月名
;#

my $now_month  = (localtime())[4];
my $month_name = getKyurekiMonthName($now_month);

print "$month_name\n";


#----------------------------------------
#旧暦の月名を取得する
#----------------------------------------

sub getKyurekiMonthName{
    my $month = shift;    #0~11
    my @label = (
             '睦月',  '如月', '弥生'
            ,'卯月',  '皐月', '水無月'
            ,'文月',  '葉月', '長月'
            ,'神無月','霜月', '師走'
    );

    return( $label[$month] );
}

余談だが、読み方は次のようになる。

1月 睦月 (むつき)
2月 如月 (きさらぎ)
3月 弥生(やよい)
4月 卯月 (うづき)
5月 皐月(さつき)
6月 水無月(みなづき)
7月 文月 (ふみづき、ふづき)
8月 葉月 (はづき)
9月 長月 (ながつき)
10月 神無月(かんなづき)
11月 霜月 (しもつき)
12月 師走 (しわす)


さらに余談だが、島根県の出雲地方では10月のことを神無月(かんなづき)ではなく、神有月(かみありづき)と呼ぶ。これは日本中の神様が出雲にある出雲大社に全て集まるという神話から来ているとされる。
 ※ちなみに誰と誰を結ぶか、縁談の話をしているとのこと。出雲大社が縁結びの神様と言われるのはここから。




トラックバック

このエントリーのトラックバックURL:
http://katsubemakito.net/mt/mt-tb.cgi/575






クリエイティブ・コモンズ・ライセンス
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.