Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 将yyyymmdd转换为dd MMM yyyy_Ms Access - Fatal编程技术网

Ms access 将yyyymmdd转换为dd MMM yyyy

Ms access 将yyyymmdd转换为dd MMM yyyy,ms-access,Ms Access,是否可以将日期4位数年2位数月和2位数日转换为dd(3位数月)4位数年 现在我输入了日期“use date”作为用户输入的YYYYMMDD。我更喜欢使用日历输入,因为它使日期保持一致日期/时间值实际上是一个双精度浮点数 因此,您可以获取一个数字,并使用CDate将其表示为日期 ?CDate(41668.0) 1/29/2014 日期值的显示格式是另一个问题。相同的数字日期值可以以您喜欢的任何格式显示 ?格式(CDate(41668.0),“yyyymmdd”) 20140129 ? 格式(C

是否可以将日期4位数年2位数月和2位数日转换为dd(3位数月)4位数年


现在我输入了日期“use date”作为用户输入的YYYYMMDD。我更喜欢使用日历输入,因为它使日期保持一致

日期/时间值实际上是一个双精度浮点数

因此,您可以获取一个数字,并使用
CDate
将其表示为日期

?CDate(41668.0)
1/29/2014 
日期值的显示格式是另一个问题。相同的数字日期值可以以您喜欢的任何格式显示

?格式(CDate(41668.0),“yyyymmdd”)
20140129
? 格式(CDate(41668.0),“dd-mmm-yyyy”)
2014年1月29日
但是实际的日期值(数字)是不变的——这个数字不会被“转换”,不管它是如何显示的

如果您的问题是用户使用的是文本值而不是日期/时间值,则您必须将该文本转换为有效的日期/时间值,或者修改应用程序,以便他们输入日期/时间值而不是文本

第二种选择是不那么大惊小怪。但是如果你把日期当作文本,你可以这样做

使用_date=“20140129”
'将其转换为CDate可以接受的字符串。。。
? 左(使用日期,4)和“-”以及中(使用日期,5,2)和“-”以及右(使用日期,2)
2014-01-29
'从该字符串获取日期。。。
? CDate(左(使用日期,4)和“-”以及中(使用日期,5,2)和“-”以及右(使用日期,2))
1/29/2014 
'最终将其设置为所需格式的字符串。。。
? 格式(CDate(左边(使用日期,4)和“-”以及中间(使用日期,5,2)和“-”以及右边(使用日期,2)),“dd-mmm-yyyy”)
2014年1月29日
试试看

DIM DateStr:DateStr=“20140119”您的日期
响应。写入“调试:DateStr=“&DateStr&”
“ '拆分数字以便可以使用日期函数 DIM NewDate:NewDate=DateSerial(CInt(Mid(DateStr,1,4)),CInt(Mid(DateStr,5,2)),Mid(DateStr,7,2)) 响应。写入“调试:NewDate=“&NewDate&”
” 日期=CDate(新日期) 响应。写入“调试:CDate(NewDate)=”&TheDate&“
” DIM FinalDate:FinalDate=日期部分(“d”,TheDate)和“ FinalDate=FinalDate&MonthName(月(日),1)和“” 最终日期=最终日期和日期部分(“yyyy”,日期) Response.write“DEBUG:Required Date=“&FinalDate
+1获得另一个好答案。我只希望@user3210948认识到,重要的是将日期存储在数据库中的实际
Date/Time
列中,然后根据需要对其进行格式化(例如,在表单和报表上)。将它们存储为
yyyyymmdd
(或
yyyy-mm-dd
)字符串是很尴尬的,而将它们存储为
dd-mmm-yyyy
字符串则是很愚蠢的。
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) & "&nbsp;"
FinalDate = FinalDate &  MonthName(Month(TheDate),1) & "&nbsp;"
FinalDate = FinalDate & DatePart("yyyy", TheDate)


Response.write "DEBUG: Required Date = " & FinalDate