我可以将日期格式化为特定的日期格式,但是格式化后的字符串似乎无法再格式化了。 不会有问题,因为我可以保存旧格式。但事实是,我还必须从excel单元中读取特定格式的字符串并将其格式化。
我使用德语约会系统。 (Mi =星期三)
UI_Main.txt_BeginnDatum.Value = Format(UI_Date_Picker.Date_Picker.Value, "ddd dd mmm yyyy")
这就是我从日期选择器中获取日期的方法。现在,它已按照我正在谈论的特定日期格式进行格式化(2019年1月9日Mi)。 选择器的默认格式为dd.mm.yyyy。
strBeginDate_g = txt_BeginnDatum.Value
strTemp = strTemp & "Nr. " & Format(strBeginDate_g, "yyyy-mm-dd")
在这里,我尝试用另一种格式写日期,但是输出与以前一样。
我当然可以编写自己的函数,但是我确定应该使用format来处理。
答案 0 :(得分:1)
Format function只能格式化数字值。但是您给它一个字符串strBeginDate_g
作为参数。
取而代之将其值作为参数:
strTemp = strTemp & "Nr. " & Format$(UI_Date_Picker.Date_Picker.Value, "yyyy-mm-dd")
使用Format()
格式化日期后,该日期将成为字符串,并且无法再使用字符串进行计算,也无法再次对其进行格式化。
答案 1 :(得分:1)
您可以编写一个自定义格式,像这样
Function FormatYYYYMMDD(strDateIn As String) As Date
Dim a() As String
Dim s As String
a = Split(strDateIn, Chr(32))
a(0) = vbNullString
FormatYYYYMMDD = CDate(Format(a(1) & "/" & a(2) & "/" & a(3), "yyyy-mm-dd"))
Erase a
End Function