是否可以将日期、4位年份、2位月份和2位日期转换为dd (3位月份)4位年份?
现在,我已经输入了日期“使用日期”作为用户输入YYYYMMDD。我更喜欢使用日历输入,因为它使日期保持一致。
发布于 2014-01-20 01:25:49
日期/时间值实际上是一个双精度浮点数。
因此,您可以接受一个数字,并使用CDate将其表示为日期。
? CDate(41668.0)
1/29/2014 日期值的显示格式是另一个问题。相同的数字日期值可以以您喜欢的任何格式显示。
? Format(CDate(41668.0), "yyyymmdd")
20140129
? Format(CDate(41668.0), "dd mmm yyyy")
29 Jan 2014但是实际的日期值(数字)是不变的-该数字不会被“转换”,不管它是如何显示的。
如果您的问题是用户使用的是文本值而不是日期/时间值,则必须将该文本转换为有效的日期/时间值,或者修改您的应用程序,使其输入日期/时间值而不是文本。
第二种选择不那么大惊小怪。但是如果你坚持把日期作为文本,你可以这样做...
use_date = "20140129"
' transform it to a string CDate can accept ...
? Left(use_date, 4) & "-" & Mid(use_date, 5, 2) & "-" & Right(use_date, 2)
2014-01-29
' get the date from that string ...
? CDate(Left(use_date, 4) & "-" & Mid(use_date, 5, 2) & "-" & Right(use_date, 2))
1/29/2014
' finally make it a string in your desired format ...
? Format(CDate(Left(use_date, 4) & "-" & Mid(use_date, 5, 2) & "-" & Right(use_date, 2)), "dd mmm yyyy")
29 Jan 2014发布于 2014-01-20 01:33:31
试一试
DIM DateStr : DateStr = "20140119" 'Your date
Response.Write "DEBUG: DateStr = " & DateStr & "<br>"
'Split number so can use Date functions
DIM NewDate : NewDate = DateSerial(CInt(Mid(DateStr, 1, 4)), CInt(Mid(DateStr, 5, 2)), Mid(DateStr, 7, 2))
Response.Write "DEBUG: NewDate = " & NewDate & "<br>"
TheDate=CDate(NewDate)
Response.Write "DEBUG: CDate(NewDate) = " & TheDate & "<br>"
DIM FinalDate: FinalDate = DatePart("d", TheDate) & " "
FinalDate = FinalDate & MonthName(Month(TheDate),1) & " "
FinalDate = FinalDate & DatePart("yyyy", TheDate)
Response.write "DEBUG: Required Date = " & FinalDatehttps://stackoverflow.com/questions/21219647
复制相似问题