文字列から、
Date Serial を返します。
構文:
用法:
#include "vbcompat.bi"
result = DateValue
( date_string )
パラメタ:
date_string
日付の連続値に変換する、文字列。
戻り値:
記述:
日付文字列は、オペレーティング・システムの地域の設定で、セットされた形式でなければなりません。
DateValue( Date() ) は、地域の設定が、QB と同じ短い日付表示形式(mm-dd-yyyy) を指定する場合にだけ、正しく働きます。
現在の日付を、日付の連続値として得るために、
Fix(Now()) 表現の中で、
Now 関数を使う、と考えてください。
vbcompat.bi か
datetime.bi を含めないと、コンパイラは、この関数を認識しません。
渡辺注:日本語環境の場合は、DateSerial を使うと,簡単に設定できます。
例2 を参照下さい。
例1:
#include "vbcompat.bi"
Dim As Long v1, v2
Dim As String s1, s2
Print "Enter first date:
";
Line Input s1
If IsDate( s1 ) = 0 Then
Print s1 ,"not a date"
Sleep
End
end If
Print "Enter second date:
";
Line Input s2
If IsDate( s2 ) = 0 Then
Print "not a date"
Sleep
End
end If
'' 文字列を、日付連続値に変換します。
v1 = DateValue
( s1 )
v2 = DateValue
( s2 )
Print "Number of days between dates is " & Abs
( v2 - v1 )
Sleep
例2:
#include
"vbcompat.bi"
Dim As Double dateTimeVal =
DateSerial(1958,12,5) +
TimeValue("20:50:35")
Dim As String formatStr
(...
) =
{"yyyy-mm-dd",
"d-mmmm-yy",
"d-mmm",
"dd-mmm",
"ddd-mmm",
"dddd-mmmm",
"ddddd-mmmm",
"mmmm-yyyy",
"h:mm AM/PM",
"h:mm:ss AM/PM",
"h:mm",
"h:mm:ss",
"m/d/yy h:mm"}
?
"Format",,
"Display"
?
For iFormat
As Integer =
0 To UBound(formatStr
)
? formatStr
(iFormat
),,
Format(dateTimeVal, formatStr
(iFormat
))
Next
Sleep
出力:
Format Display
yyyy-mm-dd 1958-12-05
d-mmmm-yy 5-12月-58
d-mmm 5-12
dd-mmm 05-12
ddd-mmm 金-12
dddd-mmmm 金曜日-12月
ddddd-mmmm 1958/12/05-12月
mmmm-yyyy 12月-1958
h:mm AM/PM 8:50 PM
h:mm:ss AM/PM 8:50:35 PM
h:mm 20:50
h:mm:ss 20:50:35
m/d/yy h:mm 12/5/58 20:50
QBからの違い:
- QBでは、存在しませんでした。
この関数は、PDS と VBDOS に現れました。
参照: