在VBScript中将时间戳字符串转换为另一种日期格式

时间:2015-10-22 10:38:31

标签: vbscript

我有从文件名中提取的日期时间戳(MMDDYYYYHHMMSS

Filedate = "10212015140108" 

如何将其转换为日期时间格式mm/dd/yyyy hh:mm:ss

有人可以帮忙解决问题吗?

1 个答案:

答案 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