繁体   English   中英

SQL时间戳到毫秒

[英]SQL time stamp to millisecond

如何使用日期时间戳将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

如何将其转换为毫秒

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

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

例:

SELECT Pubdate, DATEPART(Ms, Pubdate) FROM Titles

对于工作,我们确实使用了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时间。

要弄清楚日期的毫秒数,您首先必须将其与其他一些DateTime进行比较。 通过减去两个DateTime对象,您将得到一个TimeSpan对象。 然后可以将该TimeSpan对象转换为毫秒。 只需一行简单的代码即可完成所有操作:

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

如果您想使用 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以来的毫秒数

如果您想将纪元设为1970年1月1日,则只需执行

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

这为我做了工作:

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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM