[英]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.