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

首頁 > 編程 > VBScript > 正文

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

2019-10-26 18:04:06
字體:
來源:轉載
供稿:網友
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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 板桥市| 无锡市| 安义县| 来凤县| 大悟县| 灌云县| 阜新| 淮南市| 平谷区| 东乌珠穆沁旗| 大洼县| 彩票| 扎囊县| 桃源县| 仙游县| 潞西市| 隆尧县| 尼木县| 民乐县| 石台县| 景洪市| 建阳市| 嵊州市| 广丰县| 确山县| 炉霍县| 安义县| 青田县| 襄樊市| 海阳市| 延庆县| 云南省| 即墨市| 志丹县| 北票市| 兰溪市| 涞水县| 定结县| 体育| 同德县| 滨海县|