我需要将PHP应用程序创建的毫秒转换为日期值。有没有办法使用VBScript做到这一点?或者在SQL 2005中转换为datetime?
示例:1113192000
到mm/dd/yyyy hh:mm:ss
答案 0 :(得分:3)
以下内容应该有效:
Function ConvertPhpToDate(numSeconds)
Dim dEpoch
dEpoch = DateSerial(1970,1,1)
ConvertPhpToDate = DateAdd("s",numSeconds,dEpoch)
End Function
注意,php time()
函数返回'seconds'的数量,而不是毫秒。 http://php.net/manual/en/function.time.php
答案 1 :(得分:1)
您需要有一个基准时间来计算毫秒数,例如: 1970年1月1日或类似的。
然后将毫秒数除以1000得到秒数 - 保存余数。
将秒数除以60(保存余数)以获得分钟数。
然后再60小时,24天。
然后,由于你有闰年的考虑,这很困难。有another question on this here。
一旦您获得了年,日,小时,分钟,秒和毫秒,就可以将其添加到基准日期时间以获得所代表的日期时间。
其他人已发布您可能使用的代码等。
答案 2 :(得分:1)
我认为你所指的毫秒真的是php的时间/日期函数返回的纪元时间。您可以为此功能提供一个功能,以便在ASP中将纪元时间转换为日期时间格式:
功能epoch2date(myEpoch)
epoch2date = DateAdd(“s”,myEpoch,“01/01/1970 00:00:00”)
结束功能
答案 3 :(得分:1)
msValue = 32312312
dtValue = DateAdd("s", msValue/1000, CDate("1970-01-01 00:00:00"))
将其包裹在一个函数中:
Function TimestampToDate(timestamp)
TimestampToDate = DateAdd("s", timestamp/1000, CDate("1970-01-01 00:00:00"))
End Function