找回密码
 立即注册
搜索

VB6 时间戳和时间互转

已有 684 次阅读2025-11-20 00:00 |个人分类:代码相关

网上有很多时间戳转时间例子,在时间转换上,只能转换到2038年,
到2038年之后就报错溢出了,下面的代码已经修正这个问题。

'参数:strTime:要转换的时间;intTimeZone:该时间对应的时区
'返回值:strTime相对于1970年1月1日午夜0点经过的秒数
'示例:ToUnixTime("2008-5-23 10:51:0", +8),返回值为1211511060
Function ToUnixTime(strTime, intTimeZone)
    If IsEmpty(strTime) Or Not IsDate(strTime) Then strTime = Now
    If IsEmpty(intTimeZone) Or Not IsNumeric(intTimeZone) Then intTimeZone = 0
     ToUnixTime = DateAdd("h", -intTimeZone, strTime)
     ToUnixTime = DateDiff("s", "1970-1-1 0:0:0", ToUnixTime)
End Function
         
'把UNIX时间戳转换为标准时间
'参数:intTime:要转换的UNIX时间戳;intTimeZone:该时间戳对应的时区
'返回值:intTime所代表的标准时间
'示例:FromUnixTime("1211511060", +8),返回值2008-5-23 10:51:0
Function FromUnixTime(intTime, intTimeZone)
Dim oldTime As Double
oldTime = DateDiff("s", "1970-1-1 0:0:0", Date & " 0:0:0")
FromUnixTime = DateAdd("s", intTime - oldTime, Date & " 0:0:0")
FromUnixTime = DateAdd("h", intTimeZone, FromUnixTime)
End Function

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

手机版|Archiver|捐助支持|关于我们|玩酷之家 ( 鄂ICP备2022006241号|鄂公网安备 42050402000038号 )

GMT+8, 2026-3-18 05:07 , Processed in 0.225824 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

返回顶部