dateString

タグ: ,

指定された日付を西暦から和暦に変換します。

構文
dateString( date )
引数
date
和暦に変換したい日付を西暦で指定
戻値
和暦に変換した日付を返す

プログラム

//////////////////////////////////////////////////
// 【引数】
//   date : 和暦に変換したい日付を西暦で指定 
// 【戻値】
//   和暦に変換した日付を返す 
//////////////////////////////////////////////////
FUNCTION dateString(date)
	GETTIME(0, date)
	DIM y = G_TIME_YY
	DIM m = G_TIME_MM
	DIM d = G_TIME_DD
	DIM dt = ""
	SELECT TRUE
		CASE GETTIME(0, date) >= GETTIME(0, "2019/05/01")
			dt = "令和" + IIF(y - 2018 = 1, "元", y - 2018) + "年"
		CASE GETTIME(0, date) >= GETTIME(0, "1989/01/18")
			dt = "平成" + IIF(y - 1988 = 1, "元", y -1988) + "年"
		CASE GETTIME(0, date) >= GETTIME(0, "1926/12/25")
			dt = "昭和" + IIF(y - 1925 = 1, "元", y -1925) + "年"
		CASE GETTIME(0, date) >= GETTIME(0, "1912/07/30")
			dt = "大正" + IIF(y - 1911 = 1, "元", y - 1911) + "年"
		CASE GETTIME(0, date) >= GETTIME(0, "1868/01/25")
			dt = "明治" + IIF(y - 1867 = 1, "元", y - 1867) + "年"
	SELEND
	RESULT = dt + m + "月" + d + "日"
FEND

//////////////////////////////////////////////////
// 【引数】
//   expr : 評価する式 
//   truepart : 評価した式がTrueのときに返す値 
//   falsepart : 評価した式がFalseのときに返す値 
// 【戻値】
//   truepart : 評価した式がTrueのとき、falsepart : 評価した式がFalseのとき 
//////////////////////////////////////////////////
FUNCTION IIF(expr, truepart, falsepart)
	IFB EVAL(expr) THEN
		RESULT = truepart
	ELSE
		RESULT = falsepart
	ENDIF
FEND

プログラム実行例

今日の日付を和暦で出力

PRINT dateString(today())

//////////////////////////////////////////////////
// 【引数】
//   date : 和暦に変換したい日付を西暦で指定 
// 【戻値】
//   和暦に変換した日付を返す 
//////////////////////////////////////////////////
FUNCTION dateString(date)
	GETTIME(0, date)
	DIM y = G_TIME_YY
	DIM m = G_TIME_MM
	DIM d = G_TIME_DD
	DIM dt = ""
	SELECT TRUE
		CASE GETTIME(0, date) >= GETTIME(0, "2019/05/01")
			dt = "令和" + IIF(y - 2018 = 1, "元", y - 2018) + "年"
		CASE GETTIME(0, date) >= GETTIME(0, "1989/01/18")
			dt = "平成" + IIF(y - 1988 = 1, "元", y -1988) + "年"
		CASE GETTIME(0, date) >= GETTIME(0, "1926/12/25")
			dt = "昭和" + IIF(y - 1925 = 1, "元", y -1925) + "年"
		CASE GETTIME(0, date) >= GETTIME(0, "1912/07/30")
			dt = "大正" + IIF(y - 1911 = 1, "元", y - 1911) + "年"
		CASE GETTIME(0, date) >= GETTIME(0, "1868/01/25")
			dt = "明治" + IIF(y - 1867 = 1, "元", y - 1867) + "年"
	SELEND
	RESULT = dt + m + "月" + d + "日"
FEND

//////////////////////////////////////////////////
// 【引数】
//   expr : 評価する式 
//   truepart : 評価した式がTrueのときに返す値 
//   falsepart : 評価した式がFalseのときに返す値 
// 【戻値】
//   truepart : 評価した式がTrueのとき、falsepart : 評価した式がFalseのとき 
//////////////////////////////////////////////////
FUNCTION IIF(expr, truepart, falsepart)
	IFB EVAL(expr) THEN
		RESULT = truepart
	ELSE
		RESULT = falsepart
	ENDIF
FEND

//////////////////////////////////////////////////
// 【引数】
//   
// 【戻値】
//   今日の日付 
//////////////////////////////////////////////////
FUNCTION today()
	GETTIME()
	RESULT = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2
FEND
    (1) (1)
結果
令和4年9月21日

関連記事

GETTIME (スクリプト関数)
日付、時間を取得します。
getWeekdayName (自作関数)
getWeekdayName関数は、指定した曜日番号に対応する曜日名を返します。第一引数に曜日番号、第二引数にフォーマットを指定します。
getYear (自作関数)
指定した日付から「年」を返します。
getMonth (自作関数)
指定した日付から「月」を返します。
getDay (自作関数)
指定した日付から「日」を返します。
getWeekday (自作関数)
引数に指定された日付から曜日番号を取得します。0:日曜〜6:土曜の範囲で値を返します。
isDate (自作関数)
isDate関数は、引数が有効な日付として認識できる場合はTrue、それ以外の場合はFalseを返します。
getEndOfMonth (自作関数)
getEndOfMonth関数は、date から m 月後の月末の日付を返す関数です。m は正の値で未来、負の値で過去になります。
today (自作関数)
today関数は、現在の日付を返す関数です。YYYY/MM/DD形式で返されます。時刻も含めて取得する場合はnow関数を使います。
dateValue (自作関数)
dateValue関数は、日付形式の文字列をシリアル値に変換する関数です。
YMDToJD (自作関数)
YMDToJD関数は、グレゴリオ暦をユリウス日をに変換する関数です。西暦1582年10月15日以降の日時を指定してください。ユリウス日をグレゴリオ暦に変換するには、JDToYMD関数を使います。
JDToYMD (自作関数)
JDToYMD関数は、ユリウス日をグレゴリオ暦に変換する関数です。グレゴリオ暦をユリウス日に変換するには、YMDToJD関数を使います。
dateSerial (自作関数)
引数に指定した年、月、日の日付が表すシリアル値を返します。
now (自作関数)
now関数は、現在の日時を取得する関数です。日付のみ取得したい場合は、today関数を使います。
dateAdd (自作関数)
日時(date)に、指定した単位(interval)の時間(num)を加算して返します。正の値で未来、負の値で過去になります。
dateDiff (自作関数)
dateDiff関数は、指定された2つの日付の時間間隔を返します。
getNthWeekday (自作関数)
指定年月の第何何曜日(第nW曜日)の日付を返します。
getKyureki (自作関数)
getKyureki関数は、引数に指定したグレゴリオ暦の年月日から旧暦(天保暦)の日付を求める関数です。
getRokuyo (自作関数)
getRokuyo関数は、引数に指定した日付から六曜を求める関数です。第一引数に年、第二引数に月、第三引数に日を指定します。