如何使用日期时间戳将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
如何将其转换为毫秒
答案 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()