我有从文件名中提取的日期时间戳(MMDDYYYYHHMMSS
)
Filedate = "10212015140108"
如何将其转换为日期时间格式mm/dd/yyyy hh:mm:ss
。
有人可以帮忙解决问题吗?
答案 0 :(得分:1)
从我可以从问题中收集到的内容看起来好像Filedate
值只是日期(mmddyyyyhhnnss
)的字符串表示,考虑到这一点快速测试,看看我是否可以将其解析为所需的格式。
还有其他方法可以解决这个问题,例如使用RegExp
对象构建匹配列表,然后使用这些来构建输出。
值得注意的是,只有结构化字符串始终具有相同的顺序和相同的字符数时,此示例才有效。
Function ParseTimeStamp(ts)
Dim df(5), bk, ds, i
'Holds the map to show how the string breaks down, each element
'is the length of the given part of the timestamp.
bk = Array(2,2,4,2,2,2)
pos = 1
For i = 0 To UBound(bk)
df(i) = Mid(ts, pos, bk(i))
pos = pos + bk(i)
Next
'Once we have all the parts stitch them back together.
'Use the mm/dd/yyyy hh:nn:ss format
ds = df(0) & "/" & df(1) & "/" & df(2) & " " & df(3) & ":" & df(4) & ":" & df(5)
ParseTimeStamp = ds
End Function
Dim Filedate, parsedDate
Filedate = "10212015140108"
parsedDate = ParseTimeStamp(FileDate)
WScript.Echo parsedDate
输出:
10/21/2015 14:01:08