当前位置:首页 > 编程笔记 > 正文
已解决

Excel·VBA日期时间转换提取正则表达式函数

来自网友在路上 160860提问 提问时间:2023-09-28 14:14:00阅读次数: 60

最佳答案 问答题库608位专家为你答疑解惑

标准日期转换

Function 标准日期(ByVal str$) As DateDim pat$, result$arr = Array("(\d{4}).*?(\d{1,2}).*?(\d{1,2})", "(\d{4}).*?(\d{1}).*?(\d{1,2})")If Len(str) < 8 Then pat = arr(1) Else pat = arr(0)With CreateObject("vbscript.regexp")  '正则表达式.Global = True.Pattern = patresult = .Replace(str, "$1/$2/$3")End With标准日期 = Format(result, "yyyy/mm/dd")
End Function

在这里插入图片描述

标准日期时间提取

Function 标准日期时间(ByVal str$) As DateDim pat$, res$, result$, t&On Error Resume Nextpat = "(\d{4}).*?(\d{1,2}).*?(\d{1,2}).*?(\d{1,2}).*?(\d{1,2}).*?(\d{1,2}).*"res = "$1/$2/$3 $4:$5:$6"With CreateObject("vbscript.regexp")  '正则表达式.Global = True.Pattern = patDoresult = .Replace(str, res): t = CLng(Mid(result, 1, 4))If CDate(result) = "0:00:00" Or t < 1900 Then str = Mid(str, 2) Else Exit DoIf Len(str) < 6 Then result = "#Error": Exit Do  '没有日期Loop While Len(str) > 1End With标准日期时间 = Format(result, "yyyy/mm/dd hh:mm:ss")
End Function

在这里插入图片描述

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Excel·VBA日期时间转换提取正则表达式函数":http://eshow365.cn/6-15230-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!