用VBS獲取Unix時(shí)間戳的函數(shù)代碼
來(lái)源:易賢網(wǎng) 閱讀:1913 次 日期:2016-07-07 15:09:03
溫馨提示:易賢網(wǎng)小編為您整理了“用VBS獲取Unix時(shí)間戳的函數(shù)代碼”,方便廣大網(wǎng)友查閱!

VBS中沒(méi)有類(lèi)似C標(biāo)準(zhǔn)庫(kù)中的time函數(shù),怎么獲取Unix時(shí)間戳呢?乍一看很簡(jiǎn)單:

代碼如下:

Function UnixTime()

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

End Function

一個(gè)很想當(dāng)然的方法,僅僅注意到了“1970年1月1日0時(shí)0分0秒”,而忽略了“協(xié)調(diào)世界時(shí)”。

協(xié)調(diào)世界時(shí),又稱(chēng)世界標(biāo)準(zhǔn)時(shí)間或世界協(xié)調(diào)時(shí)間,簡(jiǎn)稱(chēng)UTC,從英文“Coordinated Universal Time”而來(lái)。在中國(guó)大陸的本地時(shí)間比UTC快8小時(shí),就會(huì)寫(xiě)作UTC+8。如果是在本地時(shí)間比UTC時(shí)間慢的地區(qū),例如夏威夷的時(shí)間是比UTC時(shí)間慢10小時(shí),就會(huì)寫(xiě)作UTC-10。

而VBS中的Now()函數(shù)返回的時(shí)間是包括時(shí)區(qū)的,所以獲取Unix時(shí)間戳要做一些修正。

代碼如下:

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

這才是正確的寫(xiě)法。

更多信息請(qǐng)查看腳本欄目
易賢網(wǎng)手機(jī)網(wǎng)站地址:用VBS獲取Unix時(shí)間戳的函數(shù)代碼
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn)

版權(quán)所有:易賢網(wǎng)