標題:
vb 如何將107年01月16日此種文字格式轉換為日期格式 ?
[打印本頁]
作者:
t8899
時間:
2018-1-17 07:57
標題:
vb 如何將107年01月16日此種文字格式轉換為日期格式 ?
vb 如何將107年01月16日此種文字格式轉換為日期格式 ?
目的==>判斷日期的大小
作者:
Hsieh
時間:
2018-1-17 09:21
回復
1#
t8899
Sub ex()
dstr = "107年01月16日"
d = Replace(Replace(Replace(dstr, "年", "/"), "月", "/"), "日", "")
a = Split(d, "/")
a(0) = a(0) + 1911
MsgBox Join(a, "/")
End Sub
複製代碼
作者:
t8899
時間:
2018-1-17 09:45
回復 t8899
Hsieh 發表於 2018-1-17 09:21
抱歉,107年01月16日 是變數 像 108年02月09日
作者:
Joforn
時間:
2018-1-17 10:34
回復
1#
t8899
我猜另一個論壇裡的也是你吧,算了這裡再粘貼一次:
Function MDate2Date(ByVal strDate As String, ByRef RefDate As Date) As Boolean
Dim MatChes As Object
Dim I As Long, K As Long
Dim strTemp As String
Dim Date1 As Date
On Error GoTo MDate1DateError
RefDate = Date1
Date1 = #1/1/1912#
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\d+[\\/年\-]\s*\b((0{0,1}[1-9])|(1[0-2]))[\\/\-月]\s*\b((0{0,1}[1-9])|([12]\d)|(3[0-1]))(日|\b)"
Set MatChes = .Execute(strDate)
If MatChes.Count Then
strDate = MatChes.Item(0)
Else
Exit Function
End If
.Pattern = "\d+"
Set MatChes = .Execute(strDate)
For I = 1 To 3
K = Val(MatChes.Item(I - 1))
Date1 = DateAdd(Choose(I, "yyyy", "m", "d"), K - 1, Date1)
Next I
MDate2Date = Day(Date1) = K
If MDate2Date Then RefDate = Date1
End With
MDate1DateError:
End Function
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)