和暦西暦変換
和暦と西暦を相互変換できます。
和暦から西暦へ変換
年が元号の期間を超えている場合は、次の元号に繰り越されます。
元号 | 年 |
---|---|
西暦から和暦へ変換
西暦に対応する元号が定められていない場合は、天皇の名前になります。
年 | 月 | 日 |
---|---|---|
和暦西暦変換で利用しているAPIについて
HuTime Web API - Calendar Calculation © Tatsuki Sekino
Creative Commons Attribution 4.0
和暦西暦変換の注意事項
- 和暦西暦変換の結果などに関して当サイトは一切責任を負いません。
和暦西暦変換ツールについて
和暦西暦変換ツールはJavaScriptで制作しています。掲載しているソースコードは解説のために改変や省略をしているので、実際のソースコードとは異なります。
使用しているJavaScriptのライブラリ
- jQuery v3.3.1
利用しているAPI
HTML
inputタグのpattern属性に「\d*」を指定して、iPhoneで数字入力のキーパッドが表示されるようにしています。Androidなどでも表示されるようにするには別の方法を考える必要があります。
<h3>和暦から西暦へ変換</h3>
<table>
<thead>
<tr>
<th>元号</th>
<th>年</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<select id="jp-era">
<option value="令和">令和</option>
~
<option value="大化">大化</option>
</select>
</td>
<td><input type="text" id="jp-year" pattern="\d*"></td>
</tr>
</tbody>
</table>
<div id="result-jp2ce"></div>
<button type="submit" id="submit-jp2ce">西暦へ変換する</button>
<h3>西暦から和暦へ変換</h3>
<table>
<thead>
<tr>
<th>年</th>
<th>月</th>
<th>日</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" id="ce-year" pattern="\d*"></td>
<td><input type="text" id="ce-month" pattern="\d*"></td>
<td><input type="text" id="ce-day" pattern="\d*"></td>
</tr>
</tbody>
</table>
<div id="result-ce2jp"></div>
<button type="submit" id="submit-ce2jp">和暦へ変換する</button>
変換を実行
「西暦へ変換する」「和暦へ変換する」が押された時にそれぞれの変換を実行します。
jQueryオブジェクトの変数名には$を付けています。
$('#submit-jp2ce').on('click', () => {
jpCeConversion('jp2ce');
});
$('#submit-ce2jp').on('click', () => {
jpCeConversion('ce2jp');
});
function jpCeConversion(type) {
let era = '';
let year = '';
let month = '';
let day = '';
let $output;
let ajaxData = {
method: 'conv',
out : 'json'
};
if (type === 'jp2ce') {
era = $('#jp-era').val();
year = $('#jp-year').val();
$output = $('#result-jp2ce');
ajaxData.ical = '1001.1';
ajaxData.ocal = '101.1';
ajaxData.itype = 'year';
ajaxData.ival = era + year + '年';
} else if (type === 'ce2jp') {
year = $('#ce-year').val();
month = $('#ce-month').val();
day = $('#ce-day').val();
$output = $('#result-ce2jp');
ajaxData.ical = '101.1';
ajaxData.ocal = '1001.1';
ajaxData.itype = 'date';
ajaxData.ival = year + '-' + month + '-' + day;
}
$.ajax({
type : 'GET',
url : 'http://ap.hutime.org/cal/',
data : ajaxData,
timeout: 5000
}).done((data) => {
if (data[0] !== null) {
$.each(data, (key, val) => {
if (type === 'jp2ce') {
$output.text(val.text.replace('C.E. ', '').replace(/^0/, '') + '年');
} else if (type === 'ce2jp') {
$output.text(val.text.replace(/^(\D+)1年/, '$1元年'));
}
});
}
});
}
HuTime Web APIからデータを取得するための設定
データを取得するための設定をします。暦法の変換結果をJSON形式で扱うので、method(処理の種類)には変換の「conv」、out(出力形式)には「json」を指定します。
let ajaxData = {
method: 'conv',
out : 'json'
};
if (type === 'jp2ce') {
era = $('#jp-era').val();
year = $('#jp-year').val();
$output = $('#result-jp2ce');
ajaxData.ical = '1001.1';
ajaxData.ocal = '101.1';
ajaxData.itype = 'year';
ajaxData.ival = era + year + '年';
} else if (type === 'ce2jp') {
year = $('#ce-year').val();
month = $('#ce-month').val();
day = $('#ce-day').val();
$output = $('#result-ce2jp');
ajaxData.ical = '101.1';
ajaxData.ocal = '1001.1';
ajaxData.itype = 'date';
ajaxData.ival = year + '-' + month + '-' + day;
}
和暦から西暦への変換時は、ical(変換元の暦日)には和暦(南朝)の「1001.1」、ocal(変換先の暦法)にはユリウス/グレゴリオ暦の「101.1」、itype(暦日等の型)には暦年の「year」、ival(暦日等を表す文字列)には「西暦○年」を指定します。
西暦から和暦への変換時は、ical(変換元の暦日)にはユリウス/グレゴリオ暦の「101.1」、ocal(変換先の暦法)には和暦(南朝)の「1001.1」、itype(暦日等の型)には暦日の「date」、ival(暦日等を表す文字列)には「年-月-日」を指定します。
HuTime Web APIからデータを取得
Ajaxで対象のURLにリクエストします。取得に成功したら所定の個所にtextメソッドで表示させますが、その際に西暦の場合はreplaceメソッドで「C.E.」と先頭の「0」を削除した上で「年」を付け加えて整えます。
和暦で1年の場合はreplaceメソッドで「1年」を「元年」に置換します。
$.ajax({
type : 'GET',
url : 'http://ap.hutime.org/cal/',
data : ajaxData,
timeout: 5000
}).done((data) => {
if (data[0] !== null) {
$.each(data, (key, val) => {
if (type === 'jp2ce') {
$output.text(val.text.replace('C.E. ', '').replace(/^0/, '') + '年');
} else if (type === 'ce2jp') {
$output.text(val.text.replace(/^(\D+)1年/, '$1元年'));
}
});
}
});
おわりに
和暦(北朝)には対応していないので、対応させる場合は少し工夫が必要です。また、和暦と西暦の変換は西暦から決まった数を引くなど様々な方法があるので、ツールを作成する際は「javascript 和暦西暦 変換」などで検索してみてください。
税率を設定して税込/税抜金額の消費税計算ができます。
文字数をカウントできます。
和暦と西暦を相互変換できます。
和暦または西暦から年齢を計算できます。
履歴書に必要な学校の入学年・卒業年を生年月日から計算できます。
キロ、マイル、グラム、華氏などの様々な単位を相互変換(換算)できます。
カラーコード(16進数)とRGB値(10進数)を相互変換できます。
Webタイマー(カウントダウン)です。ストップウォッチ機能もあります。
警察や消防などの緊急連絡先や電話番号案内などの電話番号を確認できます。
主なプロバイダーのカスタマーサポートの電話番号を確認できます。
自分のWebブラウザーだけでタスク管理(ToDo)ができます。
エクセル関数を検索できます。
麻雀の和了時の点数(符数/翻数/役)を計算することができます。
Windows 10やExcelなどで使用できる便利なショートカットを確認できます。
消費電力、使用時間、使用日数、1kWh単価から電気料金を計算できます。
大文字・小文字・数字・記号を含むランダムなパスワードを生成できます。
名前 | きょうみくん |
---|---|
身長 | 181.1cm |
誕生日 | 1月21日 |
所属 | 日本PCサービス株式会社 |
コメント |
パソコン、インターネット、サーモン、ミルクティーが好きです。 エクセル家計簿の作り方など、技術的なコラムを書いているTech Blogも運営しています。 |