可视化基本date对象从具有索引的string中parsing
我想问一下,如果在VBA中有一个内置的函数,它将根据指定的格式从stringparsingdate对象。
例如:
dateString = "24-4-12" VBADateFunc(dateString, "dd-m-yy")
通过提供的格式返回解释dateStringstring的date对象。
我会在这上面提出你的想法。
谢谢
干得好:
Public Sub TestMe() Dim dtMyDate As Date dtMyDate = Format("24-4-12", "dd-mm-yy") Debug.Print dtMyDate Debug.Print Format(dtMyDate, "yyyy") Debug.Print Format(dtMyDate, "dd-mmm-yy") 'For Non-Europeans: dtMyDate = Format(DateSerial(2012, 4, 24), "dd-mm-yy") Debug.Print dtMyDate Debug.Print Format(dtMyDate, "yyyy") Debug.Print Format(dtMyDate, "dd-mmm-yy") End Sub
从评论 – 一般来说,date是在MS Excel和VBA的长期价值。 今天的date可以在这个窗口看到:
?clng(now) 42935
如果你想用42935做更多的事情,你可以这样做:
?Format(42934,"dd-mm-yyyy")
注意:对于所有ActiveWorkbook.Date1904 = False
用户,今天是42934。 对于那些在1904
开始日历的人,今天是42935-4*365-1
我写了自己的函数来扫描一个date。 排除error handling:
Function ScanDate(s As String, Optional order As String = "DMY", Optional separator As String = "-") As Date Dim parts() As String parts = Split(s, separator) Dim day As Long, month As Long, year As Long day = parts(InStr(order, "D") - 1) month = parts(InStr(order, "M") - 1) year = parts(InStr(order, "Y") - 1) ScanDate = DateSerial(year, month, day) End Function