0

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

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

    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

如何将其转换为毫秒

4

5 回答 5

3

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

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

例子:

SELECT Pubdate, DATEPART(Ms, Pubdate) FROM Titles
于 2012-04-25T15:19:05.710 回答
2

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

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

给出的left(a.mdate, 11)数据如 = Apr 25 2012(可读格式)

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

这是在所需的 javascript 时间内。

于 2012-04-25T15:35:41.647 回答
2

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

Dim milliseconds As Double
milliseconds = (end - start).TotalMilliseconds
于 2012-05-18T17:07:24.170 回答
1

如果你想做 SQL,你可以使用 Robert Harvey 的回答

如果你想在 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)
于 2012-04-25T15:56:40.527 回答
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()
于 2017-03-23T23:34:55.753 回答