vb如何将月日年的日期格式置换成年月日的格式

如将12/13/2013置换成2013/12/13

VB返回的日期格式受系统日期格式的影响,Format函数生成的格式都自动的回归系统时间格式。

中文的系统日期格式一般为“yyyy-mm-dd”格式,所以Format函数生成的格式都是这个格式。

要想输出“2013/12/13”格式,就要使用格式化字符串处理了。代码如下:

    MsgBox Replace(CStr(Format("12/13/2013", "yyyy-mm-dd")), "-", "/")

 

简单吧!

追问

不需要用msgbox 提示,直接在原来的单元格上替换,我A列全部都是这中格式的日。
谢谢!

追答

这么说,你应该是在表格里处理咯!
那你就直接使用:
.cell(r,c)=Replace(CStr(Format("12/13/2013", "yyyy-mm-dd")), "-", "/")
或者"12/13/2013"替换成你的变量。

追问

我目前A列全部都是月日年的日期格式,我需要在A列直接转换成年月日的日期格式,能不能把完整的代码写给我!
谢谢~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-08
将月日年的日期格式置换成年月日的格式
.Format(日期变量, "yyyy-mm-dd")
第2个回答  2013-10-11
format(#12/31/2013#,"yyyy-mm-dd")
楼下的日期不能再加引号了。
第3个回答  推荐于2017-12-16

用format 函数转换
Format("12/13/2013", "yyyy") & "/" & Format("12/13/2013", "mm") & "/" & Format("12/13/2013", "dd")

 

错误方式:

format("#12/13/2013#","yyyy/mm/dd") 这个只会等于 #12/13/2013#

format("12/13/2013","yyyy/mm/dd") 这个只会等于 2013-12-13

format(#12/31/2013#,"yyyy-mm-dd")这个只会等于 2013-12-13

追问

不需要用msgbox 提示,直接在原来的单元格上替换,我A列全部都是这中格式的日。
谢谢!

追答

msgbox只是显示用,转换很容易啊,比如text1="12/13/2013"
你只要:
text1=Format(text1, "yyyy") & "/" & Format(text1, "mm") & "/" & Format(text1, "dd")
就转换过来了啊,你只要把控件用这个换一下就行了啊。

追问

我目前A列全部都是月日年的日期格式,我需要在A列直接转换成年月日的日期格式,能不能把完整的代码写给我!
谢谢~

追答

我不知道你的A列是指什么,比如我说表中的C2列是什么什么的,你也不知道我说的C2指的是什么啊。
你又没有放出你的代码,你的控件名称,地址,别人是帮不了你的啊。

追问

不好意思,我的A列是指Excel中A1~A65536单元格,在这些单元格中的日期格式是月日年,我想在这个单元格中,直接将月日年的格式变成年月日的格式。求代码!!
如 A1 为 12/13/2013,变成 2013/12/13

追答

...直接EXECL里就可以解决了,还搞什么VB啊,

你只要在A2里输入:=MID(A1,7,4) & "-" & MID(A1,1,2) & "-" & MID(A1,4,2)

然后就可以得到正确的结果

本回答被提问者和网友采纳
第4个回答  2013-10-11
Format("12/13/2013","yyyy""/""mm""/""dd")
相似回答