主要用于时间相关的操作和转换,包括:
- 从Unix时间戳解析日期和时间。
- 获取和调整当前时间。
- 提供多种时间戳获取方式以适应不同场景(如秒或毫秒级的时间戳)。
将Unix时间戳转换为UTC时间和本地时间:
- 通过函数
UnixToUTC或直接计算,将一个Unix时间戳(以秒为单位)转换为1970年开始的UTC时间。 - 将UTC时间进一步调整为本地时区时间。
; MsgBox % SubStr(1668502819058, 1, 10) ; 只需要前10位数字
; 腾讯获取当前时间API:http://vv.video.qq.com/checktime?otype=json
MsgBox, % UnixToUTC(1668502819058)
UnixToUTC(unixTime) {
time := 1970
time += SubStr(unixTime, 1, 10), s
diff -= A_NowUTC, h
time += diff, h
Return time
}
; Tebayaki+ahk2 提供的 取Unix 时间戳 这个返回10位数。 回答:少除几个0不就好了
DllCall("GetSystemTimeAsFileTime", "uint64*", currentTime)
; MsgBox % Round(currentTime / 10000000) - 11644473600
/*
UnixToUTC(unixTime) {
unixTimeX := SubStr(unixTime, 1, 10)
if unixTimeX is integer
{
time := 1970
time += unixTimeX, s
diff -= A_NowUTC, h
time += diff, h
}
Return time
}
*/
/*
MsgBox % UnixToUTC(1668502426)
UnixToUTC(unixTime){
time:=1970
time+=unixTime, s
return time
}
*/
unixTime := SubStr(1668502819058, 1, 10)
time := 1970
time += unixTime, s
utcTime := time
diff -= A_NowUTC, h
time += diff, h
localTime := time
MsgBox, % "utc: " . utcTime . "`n本地时区: " . localTime
; 淘宝:http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp
; 京东:https://api.m.jd.com/client.action?functionId=queryMaterialProducts&client=wh5
MsgBox % r := A_NowUTC
r -= 19700101000000, s
msgbox , % r * 1000 + A_MSec
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。

评论(0)