目前我有一个以 yyyymmdd 格式存储日期的数据源,我需要以 mm/dd/yyyy 格式返回它们(两个日期都没有时间部分)。我从日期源中检索日期没有问题,但以下内容没有重新格式化日期(但也没有错误)
Set LookupDate = FormatDateTime(objRS.Fields("Date"),2)
任何帮助都会很棒!
目前我有一个以 yyyymmdd 格式存储日期的数据源,我需要以 mm/dd/yyyy 格式返回它们(两个日期都没有时间部分)。我从日期源中检索日期没有问题,但以下内容没有重新格式化日期(但也没有错误)
Set LookupDate = FormatDateTime(objRS.Fields("Date"),2)
任何帮助都会很棒!
月,日期左垫零:
对("0" & 月(dt), 2) & "/" & 对("0" & 日(dt), 2) & "/" & 年(dt)
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)
如果您需要日期和时间,可以使用以下功能。这将为您提供格式为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
FormatDateTime() 返回一个字符串,而不是一个对象;所以摆脱“设置”。如果那不能达到预期的结果,请说出来。
感谢大家的投入!我使用了一个元素组合来获得一个有效的最终答案,这里是:
PUDate = objRS.Fields("Date")
YearPart = Left(PUDate, 4)
MonthPart = Mid(PUDate, 5, 2)
DayPart = Right(PUDate, 2)
LookupDate = MonthPart & "/" & DayPart & "/" & YearPart
您需要在输入中添加连字符;然后就可以通过了。这是一种方法:
Dim d
d = objRS.Fields("Date")
d = Left(d, 4) & "-" & Mid(d, 5, 2) & "-" & Right(d, 2)
LookupDate = FormatDateTime(d, 2)