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

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

今回は、、、
<font color="Red"><strong>和暦から西暦への変換方法です！</strong></font>

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

# 事前準備
１．和暦を格納する変数を追加してください。
タイプ：Short Text
デフォルト値：和暦の日付（時間はあってもなくても良い）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/2243e1d0-34f4-a39e-1feb-6fd612bc2174.png)

２．「年」「月日」「西暦」の３つの変数を作成します。
タイプ：Short Text
デフォルト値：空
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/f16ee857-682a-40e0-2437-3d1f90be4b12.png)

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

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

# 実際の処理
１．まずはアクションステップを追加から「変数の変換」を追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/6235e727-0825-56fe-b12a-15d176973972.png)

２．「＋」ボタンをクリックして変数の変換設定を行います。

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

<font color = "red">この手順では和暦から和暦の年だけを抜き取ります。</font>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/59667ae1-e24f-ecb1-c79c-fde972175f36.png)

以下のようになっていればOKです。
テスト出力値の<strong>前後にスペースが無い状態の和暦の年だけが表示</strong>されていればOK
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/c793c1b0-fb59-8d46-c1c1-2a13266e5c8d.png)


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

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

<font color = "red">この手順では和暦から月日だけを抜き取ります。</font>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/e992366e-94dc-25c4-5db0-68897ef46f3d.png)

以下のようになっていればOKです。
テスト出力値の<strong>前後にスペースが無い状態の和暦の年だけが表示</strong>されていればOK
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/d5143dc8-d889-3c7c-4621-e6e2540a817f.png)

上記の手順が終わり、処理を進めると「年」と「月日」の変数が以下のようになっていることを確認してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/61c1a099-68e5-a17e-d3f1-becaf3323b9c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/cba88650-9ca5-e91a-c135-c5c5d73e7484.png)

４．新しくアクションステップを追加し、「変数の割当」を追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/3c53f41a-7fa7-8c99-b53a-86ea04e9c3e1.png)

５．追加できれば、変数に「年」の変数を設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/7130d98b-5b0d-3363-957c-1294d8dc513f.png)

６．このままでは変換出来ませんので、値の右にある「▼」をクリックし、
コンバータに変更します。
すると、以下のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/7f3f5ffd-6cb2-1c44-4b01-b239f4c43094.png)

７．では、中身を設定していきます。
まず、「変数を取得」から「年」の変数を設定します。
以下のようになっていればOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/2fb4c82f-2e84-7d76-c397-b740027f9c11.png)

８．次の手順が今回の肝になります。
では「＋」ボタンをクリックし、その他　＞　JavaScriptを使用して変換
を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/7937dc94-f7d8-9f6d-021a-0963f56ed5d0.png)

９．![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/175e0ef8-3ff8-be21-5d89-1c120d0b31ee.png)

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

```php
OUTPUT = seireki(INPUT)
//和暦 => 西暦
function seireki(warekiYear){
	var matches = warekiYear.match('^(明治|大正|昭和|平成|令和)([元0-9０－９]+)年$');
	
	if(matches){
	
		var eraName = matches[1];
		var year = parseInt(matches[2].replace(/[元０－９]/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です。

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

:::note alert
答えがテスト出力値に「null」と表記されている場合は、
何かが間違っているのでご確認ください。
（例）年の変数内にスペースが入っている、形式が違うなど
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/5acd28f8-f293-421f-c86a-728286bfad99.png)

１０．あとは西暦の変数に「年」と「月日」の合算すると、、、
以下のようになっています！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/a83b0b93-d9dc-c150-062c-a6474a6edeb8.png)

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