我的日期格式为unix(13位数字,而不是10位):
/Date(1561476867713)/
我想在VB中转换该日期,以便可以将其用作SQL“选择”查询的参数:
SELECT TOP 1 *
FROM RM_RATES_BY_QUANTITY_BAND
WHERE RM_RATES_BY_QUANTITY_BAND.BOQ_ITEM_UID = 9950
AND RM_RATES_BY_QUANTITY_BAND.CONTRACT_UID = 0
AND RM_RATES_BY_QUANTITY_BAND.CONTRACTOR_UID = 3
AND RM_RATES_BY_QUANTITY_BAND.QUANTITY_BREAK = 200
AND RM_RATES_BY_QUANTITY_BAND.RATE_START_DATE = [converted date]
查询应查找的内容(注意时间以毫秒为单位):
我找到了各种解决方案,但没有一种可以针对这种特殊情况进行工作。使用Visual Basic和SQL Server 2016。
编辑:以证明我发现的类似问题的解决方案不起作用:
Dim timeStamp = "1561476867713"
Dim unixConvertedDate As DateTime = New
System.DateTime(1970, 1, 1, 0, 0, 0, 0)
unixConvertedDate = unixConvertedDate.AddMilliseconds(timeStamp).AddHours(1)
这将返回'#6/25/2019 04:34:27 PM#'。现在,我需要将其更改为: '2019-06-25 16:34:27.713'
问题在于'#6/25/2019 04:34:27 PM#'不显示毫秒,仅显示秒,因此我无法将其格式化为如下格式:'2019-06-25 16: 34:27.713'