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列直接转换成年月日的日期格式,能不能把完整的代码写给我!
谢谢~
用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)
然后就可以得到正确的结果