我有一个包含格式为YYMMDD的字符串的文件。例如。 120216(将始终采用此格式)。
我想将其转换为理想情况下的日期格式为DDMMYY或DDMMYYYY。
有没有人遇到类似的问题,他们是如何解决的?
答案 0 :(得分:4)
您可以拆分字符串,然后使用DateSerial
。见这个例子。
Option Explicit
Sub Sample()
Dim sDate As String
Dim Y As Long, M As Long, D As Long
sDate = "120216"
Y = Left(sDate, 2)
M = Mid(sDate, 3, 2)
D = Right(sDate, 2)
Debug.Print Format(DateSerial(Y, M, D), "DDMMYY")
Debug.Print Format(DateSerial(Y, M, D), "DDMMYYYY")
End Sub
通过评论进行跟进
谢谢,我可能要编写一个函数,我可以在其中传递字符串日期以进行转换。是否有可能将Debug ...行保存到变量中? (似乎不是)或替代工作? - Marco Susilo 4分钟前
我没有做任何错误处理。我相信你能解决这个问题吗?
Option Explicit
Sub Sample()
Dim Ret As String
Ret = GetDate("120216", "DDMMYY")
Debug.Print Ret
Ret = GetDate("120216", "DDMMYYYY")
Debug.Print Ret
End Sub
Function GetDate(sDate As String, sFormat As String) As String
Dim Y As Long, M As Long, D As Long
Y = Left(sDate, 2)
M = Mid(sDate, 3, 2)
D = Right(sDate, 2)
GetDate = Format(DateSerial(Y, M, D), sFormat)
End Function