国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

用VBS獲取Unix時間戳的函數代碼

2020-07-26 11:51:30
字體:
來源:轉載
供稿:網友
VBS中沒有類似C標準庫中的time函數,怎么獲取Unix時間戳呢?乍一看很簡單:
復制代碼 代碼如下:

Function UnixTime()
UnixTime = DateDiff("s", "01/01/1970 00:00:00", Now())
End Function

一個很想當然的方法,僅僅注意到了“1970年1月1日0時0分0秒”,而忽略了“協調世界時”。

協調世界時,又稱世界標準時間或世界協調時間,簡稱UTC,從英文“Coordinated Universal Time”而來。在中國大陸的本地時間比UTC快8小時,就會寫作UTC+8。如果是在本地時間比UTC時間慢的地區,例如夏威夷的時間是比UTC時間慢10小時,就會寫作UTC-10。

而VBS中的Now()函數返回的時間是包括時區的,所以獲取Unix時間戳要做一些修正。
復制代碼 代碼如下:

Function UnixTime()
Set objWMIService = _
GetObject("winmgmts://./root/cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem",,48)
For Each objItem in colItems
TimeZone = objItem.CurrentTimeZone
Next
UnixTime = DateDiff("s", "01/01/1970 00:00:00", Now())
UnixTime = UnixTime - TimeZone * 60
End Function

這才是正確的寫法。
參考鏈接:Epoch & Unix Timestamp Conversion Tools
原文:http://demon.tw/programming/vbs-unix-time-stamp.html
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 慈利县| 怀化市| 新河县| 剑阁县| 镶黄旗| 泽库县| 来宾市| 军事| 尼木县| 自治县| 闸北区| 化州市| 辽宁省| 鸡泽县| 民勤县| 长沙市| 金山区| 九寨沟县| 文山县| 桂阳县| 聂拉木县| 岑巩县| 盖州市| 宿迁市| 胶州市| 武胜县| 外汇| 黎平县| 宁海县| 河东区| 临汾市| 承德县| 肥乡县| 惠州市| 宁波市| 上思县| 镇平县| 松原市| 固镇县| 五台县| 宁阳县|