西暦に戻すと、月日は関係ないのかも。
ということで、一気に仕上げた。
曜日まで出すよ。
- $(function(){
- $('#convertButton').click(function(){
- var d = $('#date_text').val();
- $('#result').html(d.getSeireki('漢字', true));
- });
- });
- var weeks = ["日","月","火","水","木","金","土"];
- String.prototype.getSeireki = function(pattern, day) {
- var ret = this.match(/[0-9]+/g);
- var wareki = '';
- var year = -1;
- var month = -1;
- var date = -1;
- if (ret.length == 1) {
- year = ret[0];
- wareki = this.substring(0,this.indexOf(ret[0]));
- } else if (ret.length == 2) {
- year = ret[0];
- wareki = this.substring(0,this.indexOf(ret[0]));
- month = ret[1];
- } else if (ret.length == 3) {
- year = ret[0];
- wareki = this.substring(0,this.indexOf(ret[0]));
- month = ret[1];
- date = ret[2];
- } else {
- return '';
- }
- var result = '';
- if ("昭和" == wareki || "S" == wareki) {
- result = parseInt(year) + 1925;
- } else if ("平成" == wareki || "H" == wareki) {
- result = parseInt(year) + 1988;
- } else if ("大正" == wareki || "T" == wareki) {
- result = parseInt(year) + 1911;
- } else if ("明治" == wareki || "M" == wareki) {
- result = parseInt(year) + 1867;
- }
- var divYear = '';
- var divMonth = '';
- var divDate = '';
- if (pattern == undefined || pattern == '漢字') {
- pattern = 1;
- divYear = '年';
- divMonth = '月';
- divDate = '日';
- } else if (pattern == '-') {
- pattern = 2;
- divYear = '-';
- divMonth = '-';
- divDate = '';
- } else if(pattern == '/') {
- pattern = 3;
- divYear = '/';
- divMonth = '/';
- divDate = '';
- } else {
- pattern = 3;
- }
- if (ret.length == 1) {
- return result + divYear;
- } else if (ret.length == 2) {
- return result + divYear + month + divMonth;
- } else if (ret.length == 3) {
- var dispDay = '';
- if (day == true) {
- var strDate = result + '/' + (month) + '/' + date;
- var d = new Date(strDate);
- var youbi = weeks[d.getDay()];
- if (pattern == 1) {
- dispDay = ' ' + youbi + '曜日';
- } else if (pattern == 2 || pattern == 3) {
- dispDay = ' (' + youbi + ')';
- }
- }
- return result + divYear + month + divMonth + date + divDate + dispDay;
- }
- }