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関数 (スクリプト関数)
日付、時間を取得します。
getWeekdayName (自作関数)
GETTIMEで取得した曜日の番号を指定したフォーマットで返します。
getYear (自作関数)
指定された日付のを返します。
getMonth (自作関数)
指定された日付のを返します。
getDay (自作関数)
指定された日付のを返します。
getWeekday (自作関数)
引数に指定された日付の曜日番号(0:日曜〜6:土曜)を返します。
getEndOfMonth (自作関数)
dateで指定された月の月末日を取得します。
today (自作関数)
今日の日付を返します。
dateString (自作関数)
指定された日付を西暦から 和暦 に変換します。
YMDToJD (自作関数)
グレゴリオ暦 を ユリウス日 に変換します。