如何使用vbscript将日期从yyyymmdd格式化为mm / dd / yyyy?

时间:2012-04-04 20:28:50

标签: date vbscript formatting

目前我有一个以yyyymmdd格式存储日期的数据源,我需要以mm / dd / yyyy格式返回它们(任何一个日期都没有时间部分)。从日期源检索日期没有问题,但以下内容没有重新格式化日期(但也没有错误)

Set LookupDate = FormatDateTime(objRS.Fields("Date"),2)

任何帮助都会很棒!

6 个答案:

答案 0 :(得分:1)

FormatDateTime()返回一个字符串,而不是一个对象;所以摆脱“集”。如果这不能达到预期的结果,请说明。

答案 1 :(得分:1)

FormatDateTime考虑了系统的语言环境。

我会使用以下方法:

dim rawDate
rawDate = cDate(objRS.Fields("Date"))

dim lookupDate
lookupDate = month(rawDate)
lookupDate = lookupDate & "/" & day(rawDate)
lookupDate = lookupDate & "/" & year(rawDate)

如果你想包括前导零:

dim rawDate, rawDay, rawMonth

rawDate = cDate(objRS.Fields("Date"))

rawDay = day(rawDate)
if rawDay < 10 then
    rawDay = "0" & rawDay 
end if

rawMonth = month(rawDate)
if rawMonth< 10 then
    rawMonth = "0" & rawMonth
end if

dim lookupDate
lookupDate = rawMonth
lookupDate = lookupDate & "/" & rawDay
lookupDate = lookupDate & "/" & year(rawDate)

答案 2 :(得分:1)

月,日期左半垫零:

对(&#34; 0&#34;&amp; month(dt),2)&amp; &#34; /&#34; &安培;对(&#34; 0&#34;&amp; day(dt),2)&amp; &#34; /&#34; &安培;年(dt)

答案 3 :(得分:1)

如果您需要日期和时间,可以使用以下功能。 这将为您提供格式为 YYYYMMDDhhmmss

的日期和时间
  function GetFormattedDateTime
    dim t
    t = now
    GetFormattedDateTime= DatePart("yyyy",t) & _
                           Right("0" & DatePart("m",t), 2) & _
                           Right("0" & DatePart("d",t), 2) & _ 
                           Right("0" & DatePart("h",t), 2) & _ 
                           Right("0" & DatePart("n",t), 2) & _ 
                           Right("0" & DatePart("s",t), 2)
  end function

答案 4 :(得分:0)

您需要在输入中添加连字符;它可以通过。这是一种方法:

Dim d
d = objRS.Fields("Date")
d = Left(d, 4) & "-" & Mid(d, 5, 2) & "-" & Right(d, 2)
LookupDate = FormatDateTime(d, 2)

答案 5 :(得分:0)

感谢大家的投入!我使用了一系列元素来获得最终答案,这是:

PUDate = objRS.Fields("Date")
YearPart = Left(PUDate, 4)
MonthPart = Mid(PUDate, 5, 2)
DayPart = Right(PUDate, 2)
LookupDate = MonthPart & "/" & DayPart & "/" & YearPart