dateStringデイトストリング

本ページには広告が含まれています。

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

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

プログラム

UWSC
//////////////////////////////////////////////////
// 【引数】
//   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のときに返す値 
// 【戻り値】
//   
//////////////////////////////////////////////////
FUNCTION IIF(expr, truepart, falsepart)
	IFB EVAL(expr) THEN
		RESULT = truepart
	ELSE
		RESULT = falsepart
	ENDIF
FEND

プログラム実行例

今日の日付を和暦で出力

UWSC
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のときに返す値 
// 【戻り値】
//   
//////////////////////////////////////////////////
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
結果
令和6年3月05日
使用関数

関連記事

GETTIME関数 (スクリプト関数)
日付、時間を取得します。
getWeekdayName (自作関数)
GETTIMEで取得した曜日の番号を指定したフォーマットで返します。
getYear (自作関数)
指定された日付のを返します。
getMonth (自作関数)
指定された日付のを返します。
getDay (自作関数)
指定された日付のを返します。
getWeekday (自作関数)
引数に指定された日付の曜日番号(0:日曜〜6:土曜)を返します。
isDate (自作関数)
isDate関数は、引数が有効な日付として認識できる場合はTrue、それ以外の場合はFalseを返します。
getEndOfMonth (自作関数)
dateで指定された月の月末日を取得します。
today (自作関数)
今日の日付を返します。
now (自作関数)
現在の日時の シリアル値 を返します。