Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: IsDate Is Date Time IsTime UDF TimeAdd ObjectType VT_Date OLEAUT udfIsWBDate udfIsOLEDate
; Check if a valid WinBatch Date format YYYY:MM:DD #DefineFunction udfIsWBDate(d) ErrorMode(@OFF) b=TimeAdd(d,"0000:00:00:00:00:01") ErrorMode(@CANCEL) If b==0 Then Return 0 Return 1 #EndFunction a="2002:01:01:01:01:01" Message(a,udfIsWBDate(a)) a="2002:01:00:01:01:01" Message(a,udfIsWBDate(a)) a="2002:01:01:01:01:01:01:01" Message(a,udfIsWBDate(a)) a="apples" Message(a,udfIsWBDate(a))
#DefineFunction udfIsOLEDate(d) ; VT_DATE OLEAUT DATE ; VALID RANGE: 657435 (01/01/0100) and strictly less than 2958466.0 (01/01/10000). ErrorMode(@OFF) b=ObjectType("DATE",d) ErrorMode(@CANCEL) If b==0 Then Return 0 Return 1 #EndFunction ;*************************************************************************** ;** ;** VALID DATES ;** ;*************************************************************************** sample="01/01/0100" ; Earliest Date MM/DD/YYYY Message(sample,udfIsOLEDate(sample)) sample="01/01/9999" ; Latest Date MM/DD/YYYY Message(sample,udfIsOLEDate(sample)) sample="100/01/01" ; Earliest Date (Reversed) YYYY/MM/DD Message(sample,udfIsOLEDate(sample)) sample="9999/01/01" ; Latest Date (Reversed) YYYY/MM/DD Message(sample,udfIsOLEDate(sample)) sample=657435 ; Earliest Date (Double) Message(sample,udfIsOLEDate(sample)) sample=2958465.9 ; Latest Date (Double) Message(sample,udfIsOLEDate(sample)) sample="01-01-0100" ; Earliest Date MM-DD-YYYY Message(sample,udfIsOLEDate(sample)) sample="01-01-9999" ; Latest Date MM-DD-YYYY Message(sample,udfIsOLEDate(sample)) sample="0100:01:01" ; Earliest Date YYYY:MM:DD Message(sample,udfIsOLEDate(sample)) sample="9999:01:01" ; Latest Date YYYY:MM:DD Message(sample,udfIsOLEDate(sample)) ;*************************************************************************** ;** ;** INVALID DATES ;** ;*************************************************************************** sample="01:01:0100" ; Earliest Date MM:DD:YYYY / Fails because it considered an invalid date format Message(sample,udfIsOLEDate(sample)) sample="01:01:9999" ; Latest Date MM:DD:YYYY / Fails because it considered an invalid date format Message(sample,udfIsOLEDate(sample)) sample="10000:01:01" ; Latest Date YYYY:MM:DD / Fails because it must be strictly less than 2958466.0 (01/01/10000) Message(sample,udfIsOLEDate(sample)) sample="00/01/9999" ; Invalid Month MM/DD/YYYY / Fails because it contains an invalid month. Message(sample,udfIsOLEDate(sample)) sample="02/30/9999" ; Invalid Day MM/DD/YYYY / Fails because it contains an invalid date. Message(sample,udfIsOLEDate(sample)) Exit
Article ID: W15770
File Created: 2012:10:24:07:51:18
Last Updated: 2012:10:24:07:51:18