Datetime 在VBScript中设置当前日期和时间的格式

Datetime 在VBScript中设置当前日期和时间的格式,datetime,vbscript,asp-classic,Datetime,Vbscript,Asp Classic,我想知道是否有人能帮我 我是ASP的新手,我想将当前日期和时间格式化如下: yyyy-mm-dd hh:mm:ss 但我能做的就是 Response.Write日期 有人能帮我一下吗。日期格式选项在经典ASP中是有限的。默认情况下,有一个函数FormatDateTime()可以根据服务器的区域设置以各种方式格式化日期 尽管有内置的日期时间函数,但仍可以对日期格式进行更多控制 年份(日期)-返回表示年份的整数。传递Date()将返回当前年份 Month(date)-返回一个介于1和12之间(

我想知道是否有人能帮我

我是ASP的新手,我想将当前日期和时间格式化如下:

yyyy-mm-dd hh:mm:ss
但我能做的就是

Response.Write日期

有人能帮我一下吗。

日期格式选项在经典ASP中是有限的。默认情况下,有一个函数
FormatDateTime()
可以根据服务器的区域设置以各种方式格式化日期

尽管有内置的日期时间函数,但仍可以对日期格式进行更多控制

  • 年份(日期)
    -返回表示年份的整数。传递
    Date()
    将返回当前年份

  • Month(date)
    -返回一个介于1和12之间(含1和12)的整数,表示一年中的月份。传递
    Date()
    将返回一年中的当前月份

  • MonthName(month[,abbv])
    -返回一个字符串,指示指定的月份。作为月份传入
    Month(Date())
    将返回当前月份字符串

  • Day(date)
    -返回一个介于1和31之间(含1和31)的整数,表示一个月的哪一天。传递
    Date()
    将返回当月的当前日期

  • Hour(time)
    -返回一个介于0和23之间(含0和23)的整数,表示一天中的小时。传递
    Time()
    将返回当前小时

  • Minute(time)
    -返回一个介于0和59之间(含0和59)的整数,表示一小时中的分钟数。传递
    Time()
    将返回当前分钟

  • Second(time)
    -返回一个介于0和59之间(含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
'存储日期时间戳一次。
dtsnow=Now()
'单个日期组件
dd=右侧(“00”和日(dtsnow),2)
毫米=右(“00”和月(dtsnow),2)
yy=年(dtsnow)
hh=右侧(“00”和小时(dtsnow),2)
nn=右侧(“00”和分钟(dtsnow),2)
ss=右侧(“00”秒和第二秒(dtsnow),2)
'以yyyy mm dd格式生成日期字符串
datevalue=yy&“-”和mm&“-”和dd
'以hh:mm:ss格式构建时间字符串
timevalue=hh&“:”&nn&“:”&ss
'将两者连接在一起以构建时间戳yyyy-mm-dd hh:mm:ss
dtsvalue=datevalue&&&timevalue
调用响应.Write(dtsvalue)
注意:您可以在一次调用中构建日期字符串,但决定将其分解为三个变量以便于阅读


  • (答案提供了采用日期字符串格式并将其解析为有效的
    date
    变量的方法)
  • (为什么在执行格式化之前存储日期/时间很重要的示例)

OP似乎不需要它,但还有MonthName(mm,abbr)函数-mm是月数,abbr是一个布尔值,指示是否缩写月名。@Martha是的,没有包括它,因为它与OP想要实现的日期格式无关。您可以简化更多,相反,格式_零使用另一种格式:右(“00”)和月(日期()),2)日和月的格式相同year@Mastercafe这也是真的。@Lankymart您应该使用您提供给我的快捷方式来修改您的答案,比如,tmp=Right(“00”&Hour(Time()),2)。那么,您不能转储format_zeros()函数吗?我很感激你让我们中的一些人在我确信你可以轻松回答问题的时候回答问题。