VBScript日付をフォーマットするにはどうすればよいですか?



Vbscript How Can I Format Date



解決:

0 = vbGeneralDate-デフォルト。日付:mm / dd / yyを返し、指定されている場合は時刻:hh:mm:ss PM / AMを返します。 1 = vbLongDate-戻り値:weekday、monthname、year 2 = vbShortDate-戻り値:mm / dd / yy 3 = vbLongTime-戻り時間:hh:mm:ss PM / AM 4 = vbShortTime-戻り時間:hh:mm d = CDate( '2010-02-16 13:45')document.write(FormatDateTime(d)& ' 
')document.write(FormatDateTime(d、1)&'
')document.write(FormatDateTime(d、2)&'
')document.write(FormatDateTime(d、3)&'
')document.write(FormatDateTime(d、4)&'
')

別の形式を使用する場合は、独自の関数を作成し、月、年、日などを解析して、好みの形式にまとめる必要があります。

関数myDateFormat(myDate)d = TwoDigits(Day(myDate))m = TwoDigits(Month(myDate))y = Year(myDate)myDateFormat = m& '-'&d& '-'&y End関数関数TwoDigits(num )If(Len(num)= 1)Then TwoDigits = '0'&num Else TwoDigits = num End IfEnd関数

編集:日と月を次のようにフォーマットする関数を追加しました値がより小さい場合は0n10.10。




関数の実行中に変更される分、さらには日を防ぐために、関数内で「Now」を1回だけ呼び出すことをお勧めします。

したがって:



関数timeStamp()Dim tt = Now timeStamp = Year(t)& '-'&_ Right( '0'&Month(t)、2)& '-'&_ Right( '0'&Day(t)、 2)& '_'&_ Right( '0'&Hour(t)、2)&_ Right( '0'&Minute(t)、2) ''&_ Right( '0'&Second(t) 、2)終了機能 

FormatDateTimeの出力は、コントロールパネルの地域設定の構成によって異なります。したがって、他の国では、FormatDateTime(d、2)はたとえばyyyy-MM-ddを返す場合があります。

出力を「カルチャ不変」にする場合は、stian.netのソリューションのmyDateFormat()を使用します。日付のスラッシュが気に入らず、他の国の日付形式を気にしない場合は、次を使用できます。

Replace(FormatDateTime(d、2)、 '/'、 '-')