西暦 to 和暦
Posted feedbacks - JavaScript
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 44 45 46 47 48 49 50 | <html>
<head>
<title>西暦 to 和暦</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
<!--
//*******************************************************
// 西暦 to 和暦
//*******************************************************
function toWareki(numYear, numMonth, numDay) {
var today = new Date();
numCurYear = today.getFullYear();
numCurMon = today.getMonth() + 1;
numCurDay = today.getDate();
strDate = '' + numYear + ((numMonth < 10) ? '0' : '') + numMonth + ((numDay < 10) ? '0' : '') + numDay;
strCurDate = '' + numCurYear + ((numCurMon < 10) ? '0' : '') + numCurMon + ((numCurDay < 10) ? '0' : '') + numCurDay;
var arrWareki = [
{'name': '明治', 'start': '18680908', 'end': '19120730'},
{'name': '大正', 'start': '19120730', 'end': '19261225'},
{'name': '昭和', 'start': '19261225', 'end': '19890107'},
{'name': '平成', 'start': '19890108', 'end': strCurDate}
];
var strName = '';
for(var i=0; i<arrWareki.length; i++) {
if(arrWareki[i]['start'] <= strDate && strDate <= arrWareki[i]['end']) {
var strAnd = (strName == '') ? '' : '年 ';
var numBaseYear = parseInt(arrWareki[i]['start'].substring(0,4));
strName += strAnd + arrWareki[i]['name'] + (numYear - numBaseYear + 1);
}
}
return (strName == '') ? '範囲外' : strName + '年' + numMonth + '月' + numDay + '日';
}
//-->
</script>
</head>
<body>
西暦:<br/>
<input type="text" id="year" value="2008" size="4" />
<input type="text" id="month" value="1" size="2" />
<input type="text" id="day" value="9" size="2" />
<input type="button" value="変換" onclick="document.getElementById('wareki').innerHTML=toWareki(document.getElementById('year').value, document.getElementById('month').value, document.getElementById('day').value);" />
<br/>
和暦:<br>
<div id="wareki"> </div>
</body>
</html>
|
seireki2wareki("1868/9/8")
>>範囲外
seireki2wareki("1873/1/1")
>>明治6年1月1日
seireki2wareki("1926/12/24")
>>大正15年12月24日
seireki2wareki("2007/12/01")
>>大正15年12月24日
seireki2wareki("1926/12/25")
>>大正15年12月24日
seireki2wareki("1868/1/2")
>>範囲外
seireki2wareki("1873/100/2")
>>範囲外
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 | function seireki2wareki(y){
var c = new Date(y);
if(c.getFullYear()<1873) return "範囲外";
var wareki = {
'明治' : [new Date("1868/9/8"), new Date("1912/7/30")],
'大正' : [new Date("1912/7/30"), new Date("1926/12/25")],
'昭和' : [new Date("1926/12/25"), new Date("1989/1/7")],
'平成' : [new Date("1989/1/8"), new Date()]
}
var a = [];
for(w in wareki){
var from = wareki[w][0];
var to = wareki[w][1];
if((c>=from && c<=to)){
var n1 = (to.getFullYear()- from.getFullYear())+1;
var n2 = to.getFullYear()- c.getFullYear();
a.push(w+ (n1-n2)+ "年"+ (c.getMonth()+1)+ "月"+ c.getDate()+ "日");
}
}
return a.join(" ") || "範囲外";
}
|


ocean
#5067()
Rating0/8=0.00
>a.py 1868/12/2
明治1年12月2日
>a.py 1926/12/24
大正15年12月24日
>a.py 2007/12/01
平成19年12月1日
>a.py 1926/12/25
大正15年12月25日 昭和1年12月25日
>a.py 1868/1/2
範囲外
>a.py 1868/100/2
範囲外
see: 和暦西暦対応表
[ reply ]