前提
GASを使って
西暦を和暦に変換する関数を作成しました。
実現したいこと
和暦に変換したときに一桁の場合0を追加したい
例)平成2年→平成02年
ソースコード
和暦一桁の場合
0を表示する方法がわかりません。
ご教授していただけないでしょうか。
非エンジニアです。
よろしくおねがいいたします。
function warekiConvert(date) { var convertDate = "変換できませんでした"; var year, strYear; if(date >= new Date("2019/05/01")){ year = date.getFullYear() - 2018; strYear = String(year) + "年" if(year === 1){ strYear = "元年" } convertDate = "令和" + strYear + Utilities.formatDate(date, "Asia/Tokyo", "MM月dd日"); }else if(date >= new Date("1989/01/08")){ year = date.getFullYear() - 1988; strYear = String(year) + "年" if(year === 1){ strYear = "元年" } convertDate = "平成" + strYear + Utilities.formatDate(date, "Asia/Tokyo", "MM月dd日"); }else if(date >= new Date("1926/12/25")){ year = date.getFullYear() - 1925; strYear = String(year) + "年" if(year === 1){ strYear = "元年" } convertDate = "昭和" + strYear + Utilities.formatDate(date, "Asia/Tokyo", "MM月dd日"); }else if(date >= new Date("1912/07/30")){ year = date.getFullYear() - 1911; strYear = String(year) + "年" if(year === 1){ strYear = "元年" } convertDate = "大正" + strYear + Utilities.formatDate(date, "Asia/Tokyo", "MM月dd日"); }else if(date >= new Date("1868/01/25")){ year = date.getFullYear() - 1867; strYear = String(year) + "年" if(year === 1){ strYear = "元年" } convertDate = "明治" + strYear + Utilities.formatDate(date, "Asia/Tokyo", "MM月dd日"); } return convertDate }
「GAS 0埋め」で検索してみましょう
検索しますと桁数指定できるやり方出てきました。
しかしながら、どこに追加すべきかわからない状況です。
ご教授いただけないでしょうか?
var ret = ( '00' + num ).slice( -2 );
例えば「2年」って作成しているところで0埋めしたいのではないのですか?
その通りです。
元年も01にしようと下記コードに変更したところ
エラーが出てうまく変換できない状況です。
他の場所にコード追加の方がよろしいですかね?
ご教授お願いします。
if(year === 1){
strYear = "元年"
}
下記に変更
if(year < 10){
strYear=( '00' + num ).slice( -2 );
}
年を文字に変換しているところで行えばよろしいかと思います。
文字に変換してから0埋めするのではありません。
出力するタイミングで としましたがうまく作動しません。
どこにどうコードを入れるのが正しいのでしょうか
ご教授お願いいたします。
var convertDate = "変換できませんでした";
year = ('00' + year).slice(-2);
var year, strYear;
解決できましたありがとうございました
回答1件
あなたの回答
tips
プレビュー