dateString

タグ: ,

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

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

プログラム

//////////////////////////////////////////////////
// 【引数】
//   日付 : 和暦に変換したい日付を西暦で指定 
// 【戻値】
//   和暦に変換した日付を返す 
//////////////////////////////////////////////////
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())

//////////////////////////////////////////////////
// 【引数】
//   日付 : 和暦に変換したい日付を西暦で指定 
// 【戻値】
//   和暦に変換した日付を返す 
//////////////////////////////////////////////////
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. dateString
  2. today
結果
令和4年5月21日

関連記事

GETTIME (スクリプト関数)
GETTIMEは日時を取得する関数です。第二引数に指定された基準日から第一引数に指定した日数を加算した値を返します。戻値は2000年1月1日からの秒数です。関数実行後特殊変数に値がセットされ、その特殊変数から日付情報を取得できます。
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関数を使います。
dateAdd
日時(date)に、指定した単位(interval)の時間(num)を加算して返します。正の値で未来、負の値で過去になります。
dateDiff
dateDiff関数は、指定された2つの日付の時間間隔を返します。
getNthWeekday
指定年月の第何何曜日(第nW曜日)の日付を返します。
getRokuyo
getRokuyo関数は、引数に指定した日付から六曜を求める関数です。第一引数に年、第二引数に月、第三引数に日を指定します。
getKyureki
getKyureki関数は、引数に指定したグレゴリオ暦の年月日から旧暦(天保暦)の日付を求める関数です。