isDate関数

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

有効な日付として認識できる場合はTrue、それ以外の場合はFalseを返します。

構文
  1. Boolean = isDate( date )
引数
date 必須
存在するかを調べる日付文字列。YYYYMMDD or YYYY/MM/DD or YYYY-MM-DDのいずれかの形式。
戻り値
TRUE
日付として認識できる
FALSE
日付として認識できない

プログラム

UWSC
//////////////////////////////////////////////////
// 【引数】
//   date : 存在するかを調べる日付文字列。YYYYMMDD or YYYY/MM/DD or YYYY-MM-DDのいずれかの形式。 
// 【戻り値】
//   TRUE : 日付として認識できる、FALSE : 日付として認識できない 
//////////////////////////////////////////////////
FUNCTION isDate(date)
	TRY
		GETTIME(0, date)
		RESULT = TRUE
	EXCEPT
		RESULT = FALSE
	ENDTRY
FEND

使い方

isDate関数内部でGETTIME関数 (スクリプト関数)を使用しているので、引数に指定できる日付形式はGETTIME関数と同じものになります。

UWSC
PRINT isDate("2023/07/02")
PRINT isDate("2023-07-02")
PRINT isDate("20230702")
結果
プレーンテキスト
True
True
True

時刻の部分は無視され日付部分でのみ判定を行います。

UWSC
PRINT isDate("2023/07/02 14:11:15")
PRINT isDate("2023/06/31 14:11:15")
結果
プレーンテキスト
True
False

閏年の判定も問題なく行なえます。

UWSC
PRINT isDate("2020/02/29")
PRINT isDate("2021/02/29")
PRINT isDate("2022/02/29")
PRINT isDate("2023/02/29")
結果
プレーンテキスト
True
False
False
False

関連記事

GETTIME関数 (スクリプト関数)
GETTIMEは日時を取得する関数です。第二引数に指定された基準日から第一引数に指定した日数を加算した値を返します。戻値は2000年1月1日からの秒数です。関数実行後特殊変数に値がセットされ、その特殊変数から日付情報を取得できます。
getWeekdayName関数 (自作関数)
getWeekdayName関数は、指定した曜日番号に対応する曜日名を返します。第一引数に曜日番号、第二引数にフォーマットを指定します。
getYear関数 (自作関数)
指定した日付から「年」を返します。
getMonth関数 (自作関数)
指定した日付から「月」を返します。
getDay関数 (自作関数)
指定した日付から「日」を返します。
getWeekday関数 (自作関数)
引数に指定された日付から曜日番号を取得します。0:日曜〜6:土曜の範囲で値を返します。
getEndOfMonth関数 (自作関数)
getEndOfMonth関数は、date から m 月後の月末の日付を返す関数です。m は正の値で未来、負の値で過去になります。
today関数 (自作関数)
today関数は、現在の日付を返す関数です。YYYY/MM/DD形式で返されます。時刻も含めて取得する場合はnow関数を使います。
dateString関数 (自作関数)
指定された日付を西暦から和暦に変換します。
dateValue関数 (自作関数)
dateValue関数は、日付形式の文字列をシリアル値に変換する関数です。