簡體   English   中英

在 VBScript 中格式化當前日期和時間

[英]Format current date and time in VBScript

我想知道是否有人可以幫助我。

我是 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())作為月份將返回當前的 Month 字符串。 正如@Martha所建議的

  • Day(date) -返回 1 到 31(包括 1 和 31)之間的整數,表示一個月中的第幾天。 傳遞Date()將返回當月的當前日期。

  • Hour(time) -返回 0 到 23(含)之間的整數,表示一天中的小時。 通過Time()將返回當前小時。

  • Minute(time) -返回 0 到 59(含)之間的整數,表示小時中的分鍾。 通過Time()將返回當前分鍾。

  • Second(time) -返回 0 到 59(含)之間的整數,表示一分鍾的秒數。 通過Time()將返回當前秒。

重要提示:格式化日期/時間值時,始終首先存儲日期/時間值。 此外,在嘗試格式化之前應應用任何所需的計算DateAdd()等) ,否則您將獲得意外結果。

函數Month()Day()Hour()Minute()Second()都返回整數。 幸運的是,有一個簡單的解決方法可以讓您快速填充這些值Right("00" & value, 2)它的作用是將00附加到值的前面,然后從右邊取前兩個字符。 這確保所有單個數字值返回前綴為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)

注意:您可以在一次調用中構建日期字符串,但決定將其分解為三個變量以使其更易於閱讀。


暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM