2

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

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

任何帮助都会很棒!

4

6 回答 6

2

月,日期左垫零:

对("0" & 月(dt), 2) & "/" & 对("0" & 日(dt), 2) & "/" & 年(dt)

于 2013-12-08T12:30:36.113 回答
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)
于 2012-04-05T07:13:34.883 回答
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
于 2015-01-08T08:55:54.140 回答
1

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

于 2012-04-04T20:49:09.573 回答
0

感谢大家的投入!我使用了一个元素组合来获得一个有效的最终答案,这里是:

PUDate = objRS.Fields("Date")
YearPart = Left(PUDate, 4)
MonthPart = Mid(PUDate, 5, 2)
DayPart = Right(PUDate, 2)
LookupDate = MonthPart & "/" & DayPart & "/" & YearPart
于 2012-04-06T13:53:20.323 回答
0

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

Dim d
d = objRS.Fields("Date")
d = Left(d, 4) & "-" & Mid(d, 5, 2) & "-" & Right(d, 2)
LookupDate = FormatDateTime(d, 2)
于 2012-04-04T20:56:09.200 回答