日付関連のjavascriptの2つめ。
指定された日付を「平成27年02月10日」みたいな和暦に変換します。
下のコードでは最初に、前回ご紹介したdate_shaping()を使用しています。セットでご利用ください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
function change_to_japanese_date(parameter_date) { //日付をシャキッとする var shaped_date = date_shaping(parameter_date); //年月日を分ける var pds = shaped_date.split('-'); //元号の開始年を新しい方から2次元配列で var j_cal_starts = [ ['1989-01-08', '平成'], ['1926-12-25', '昭和'], ['1912-07-30', '大正'], ['1868-01-01', '明治'], ]; var s = ''; var sy = 0; var japanese_date = ''; var y = 0; //指定した日付より開始年が小さくなる元号を見つける for(c = 0; c < j_cal_starts.length; c++){ if(shaped_date >= j_cal_starts[c][0]){ //sは元号、syは開始年 s = j_cal_starts[c][1]; sy = parseInt(j_cal_starts[c][0].substring(0,4)); break; } } if(sy > 0){ //和暦の年を算出 y = parseInt(pds[0]) - sy + 1; //和暦を組み立ててお返し return s + y.toString(10) + '年' + pds[1] + '月' + pds[2] + '日'; } //明治以前は変換しないでお返しします return parameter_date; } |
ご参考になるかもしれないポイントは、
・多次元配列の使用
・和暦元号の最初の西暦年
・数字を表す文字列と数値の変換
です。