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関数 (自作関数)
引数で指定した曜日番号に対応する曜日名を返します。
getYear関数 (自作関数)
指定された日付のを返します。
getMonth関数 (自作関数)
指定された日付のを返します。
getDay関数 (自作関数)
指定された日付のを返します。
getWeekday関数 (自作関数)
引数に指定された日付の曜日番号(0:日曜〜6:土曜)を返します。
getEndOfMonth関数 (自作関数)
dateで指定された月の月末日を取得します。
today関数 (自作関数)
今日の日付を返します。
dateString関数 (自作関数)
指定された日付を西暦から和暦に変換します。
dateValue関数 (自作関数)
日付形式の文字列をシリアル値に変換します。