SQL时间戳到毫秒

时间:2012-04-25 15:16:38

标签: sql vb.net highcharts highstock

如何使用日期时间戳将SQL时间转换为毫秒。 我正在使用VB.Net做高档图表

这是我到目前为止的选择代码

    Dim mydatalist As New List(Of XyData)
    Dim sqlReader As SqlDataReader
    Dim strConn As New     SqlConnection(ConfigurationManager.ConnectionStrings("myCipConnection").ConnectionString)
    Dim strSql As String = "SELECT TOP 1000 DATEDIFF(second,{d '1970-01-  01'},dtmStamp)AS dtmStamp  ,dblReturnTemp  FROM tblCIPEventData  "
    Dim sqlCmd As New SqlCommand(strSql, strConn)
    strConn.Open()
    sqlReader = sqlCmd.ExecuteReader

我有一个SQL选择

Dim strSql As String = "SELECT TOP 1 dtmStamp ,dblReturnTemp   FROM tblCIPEventData"

结果如

2009-10-22 11:29:31.513

如何将其转换为毫秒

5 个答案:

答案 0 :(得分:3)

http://support.microsoft.com/kb/186265

  

您可以使用SQL Server DATEPART()函数来获取毫秒数   返回到Visual Basic应用程序的SQL Server日期时间字段。

示例:

SELECT Pubdate, DATEPART(Ms, Pubdate) FROM Titles

答案 1 :(得分:2)

对于我们使用DATETIME形式的时间戳进行的工作,我们做了以下操作,因为我们不关心一天中的时间:

CONVERT(BIGINT, DATEDIFF(s, '19700101', left(a.mdate, 11)))*1000

left(a.mdate, 11)提供的数据类似于2012年4月25日(可读格式)

a.mdate = 2012-04-25 11:01:18.030

这是需要的javascript时间。

答案 2 :(得分:2)

要计算出日期的毫秒数,首先必须将其与其他日期时间进行比较。通过减去两个DateTime对象,您将得到一个TimeSpan对象。然后可以将TimeSpan对象转换为毫秒。这可以通过一行简单的代码完成:

Dim milliseconds As Double
milliseconds = (end - start).TotalMilliseconds

答案 3 :(得分:1)

如果你想做SQL,你可以use Robert Harvey's answer

如果你想在VB.NET中使用它,那么你有以下

Dim strSql As String = "SELECT TOP 1 dtmStamp ,dblReturnTemp   FROM tblCIPEventData"

结果将是System.DateTime

要回答问题如何将其转换为毫秒?我们可以使用TimeSpan

Dim dtmStamp as DateTime
dtmStamp = sqlReader.GetDateTime(0)

Dim ts As New TimeSpan(dtmStamp.Ticks)
Dim milliseconds as Long  
milliseconds = TotalMilliseconds 

这将为您提供自1/1/0001 12:00 AM以来的毫秒数

如果您希望纪元是01/01/1970,那么您只需

Dim epoch as DateTime  = new DateTime(1970,1,1)
Dim ts As New TimeSpan((dtmStamp - epoch).Ticks)

答案 4 :(得分:0)

这为我完成了这项工作:

me.labelDisplay.Text = CDate(query.dateColumn).ToString("yyyy-MM-dd HH:mm:ss.fff")

输出:

2017-03-23 16:35:08.237 

如果您想要使用毫秒部分:

Dim ms as Integer = CDate(query.dateColumn).Milliseconds()