ASP:将毫秒转换为日期

时间:2009-07-06 16:08:06

标签: date asp-classic vbscript

我需要将PHP应用程序创建的毫秒转换为日期值。有没有办法使用VBScript做到这一点?或者在SQL 2005中转换为datetime?

示例:1113192000mm/dd/yyyy hh:mm:ss

4 个答案:

答案 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”)

结束功能

来源:http://www.epochconverter.com/epoch/functions.php#asp

答案 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