0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【BizRobo!】和暦から西暦への変換方法

Posted at

はじめに

みなさんこんにちは。
今回はみなさんに知っていただきたい内容を記事にしてみました。

今回は、、、
和暦から西暦への変換方法です!

では、まずは準備から説明いたします。

事前準備

1.和暦を格納する変数を追加してください。
タイプ:Short Text
デフォルト値:和暦の日付(時間はあってもなくても良い)

image.png

2.「年」「月日」「西暦」の3つの変数を作成します。
タイプ:Short Text
デフォルト値:空
image.png

こんな感じになっていればOKです。

日付の形式については一切説明いたしません。
それぞれのご用途に合わせてお使いください。

実際の処理

1.まずはアクションステップを追加から「変数の変換」を追加します。
image.png

2.「+」ボタンをクリックして変数の変換設定を行います。

開始:和暦が格納された変数
終了:年を格納する変数

この手順では和暦から和暦の年だけを抜き取ります。
image.png

以下のようになっていればOKです。
テスト出力値の前後にスペースが無い状態の和暦の年だけが表示されていればOK
image.png

3.手順2と同じく設定を行います。
ここでは、和暦の変数から「月日」を抽出し、変数に格納します。

開始:和暦が格納された変数
終了:年を格納する変数

この手順では和暦から月日だけを抜き取ります。
image.png

以下のようになっていればOKです。
テスト出力値の前後にスペースが無い状態の和暦の年だけが表示されていればOK
image.png

上記の手順が終わり、処理を進めると「年」と「月日」の変数が以下のようになっていることを確認してください。
image.png
image.png

4.新しくアクションステップを追加し、「変数の割当」を追加します。
image.png

5.追加できれば、変数に「年」の変数を設定します。
image.png

6.このままでは変換出来ませんので、値の右にある「▼」をクリックし、
コンバータに変更します。
すると、以下のようになります。
image.png

7.では、中身を設定していきます。
まず、「変数を取得」から「年」の変数を設定します。
以下のようになっていればOKです。
image.png

8.次の手順が今回の肝になります。
では「+」ボタンをクリックし、その他 > JavaScriptを使用して変換
を選択します。
image.png

9.image.png

上記の画面に以下のコードを貼ってください

OUTPUT = seireki(INPUT)
//和暦 => 西暦
function seireki(warekiYear){
	var matches = warekiYear.match('^(明治|大正|昭和|平成|令和)([元0-90-9]+)年$');
	
	if(matches){
	
		var eraName = matches[1];
		var year = parseInt(matches[2].replace(/[元0-9]/g,function(match){
		
			if(match === '元'){
			
				return 1;
				
			}
			
			return String.fromCharCode(match.charCodeAt(0) - 65248);
			
	}));
	
		if(eraName === '明治'){
	
			year += 1867;
		
		}else if(eraName === '大正'){
	
			year += 1911;
		
		}else if(eraName === '昭和'){
	
			year += 1925;
		
		}else if(eraName === '平成'){
	
			year += 1988;
		
		}else if(eraName === '令和'){
	
			year += 2018;
			
		}
	
		return year + '年';
	
	}
	
	return null;
	
}

貼り付けが終わって、真ん中下にあるテストボタンをクリックします。
以下のように、和暦から西暦に変換されてればOKです。

テスト出力値の「年」が不要な場合は、下から7行目の
「return year + '年';」の「+ '年'」を削除してください。
ただし、最後の「;(セミコロン)」は残してください!

答えがテスト出力値に「null」と表記されている場合は、
何かが間違っているのでご確認ください。
(例)年の変数内にスペースが入っている、形式が違うなど

image.png

10.あとは西暦の変数に「年」と「月日」の合算すると、、、
以下のようになっています!
image.png

さいごに

ぜひ参考にしていただければ幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?