誰かが私を助けてくれるかどうか疑問に思っていました。
私はASPで非常に新しいです。現在の日付と時刻を次のようにフォーマットしたいと思います。
yyyy-mm-dd hh:mm:ss
しかし、私ができることは次のことだけです
Response.Write Date
誰かが私を助けてくれますか?.
日付のフォーマットオプションはクラシックで制限されていますASPデフォルトでは、サーバーの地域設定に基づいてさまざまな方法で日付をフォーマットできる関数FormatDateTime()
があります。
日付時刻関数が組み込まれていますが、日付の書式設定をより詳細に制御します
Year(date)
-年を表す整数を返します。 Date()
を渡すと、現在の年が返されます。
Month(date)
-年の月を表す1から12までの整数を返します。 Date()
を渡すと、現在の月が返されます。
MonthName(month[, abbv])
-指定された月を示す文字列を返します。月としてMonth(Date())
を渡すと、現在の月の文字列が返されます。 @ Marthaによって提案されたとおり
Day(date)
-月の日を表す1から31までの整数を返します。 Date()
を渡すと、月の現在の日が返されます。
Hour(time)
-0から23までの整数を返し、1日の時間を表します。 Time()
を渡すと、現在の時間が返されます。
Minute(time)
-時間の分を表す0から59までの整数を返します。 Time()
を渡すと、現在の分が返されます。
Second(time)
-秒を表す0から59までの整数を返します。 Time()
を渡すと、現在の秒が返されます。
重要:日付/時刻の値をフォーマットする場合、常に日付を格納します/最初に時間値。また、必要な計算(
DateAdd()
etc。)を適用してからフォーマットしようとすると、予期しない結果が得られます。
関数Month()
、Day()
、Hour()
、Minute()
およびSecond()
はすべて整数を返します。幸いなことに、これらの値をすばやくパディングできる簡単な回避策がありますRight("00" & value, 2)
それが行うこと00
を値の前に置き、右から最初の2文字を取ります。これにより、すべての1桁の値が0
。
Dim dd, mm, yy, hh, nn, ss
Dim datevalue, timevalue, dtsnow, dtsvalue
'Store DateTimeStamp once.
dtsnow = Now()
'Individual date components
dd = Right("00" & Day(dtsnow), 2)
mm = Right("00" & Month(dtsnow), 2)
yy = Year(dtsnow)
hh = Right("00" & Hour(dtsnow), 2)
nn = Right("00" & Minute(dtsnow), 2)
ss = Right("00" & Second(dtsnow), 2)
'Build the date string in the format yyyy-mm-dd
datevalue = yy & "-" & mm & "-" & dd
'Build the time string in the format hh:mm:ss
timevalue = hh & ":" & nn & ":" & ss
'Concatenate both together to build the timestamp yyyy-mm-dd hh:mm:ss
dtsvalue = datevalue & " " & timevalue
Call Response.Write(dtsvalue)
注:1回の呼び出しで日付文字列を作成できますが、簡単にするために3つの変数に分割することにしました読む。
Date
変数に解析するアプローチを提供します)。