У меня есть дата в формате unix (13 цифр, а не 10):
/Date(1561476867713)/
Я хочу преобразовать эту дату в VB, чтобы использовать ее в качестве параметра для SQL-запроса select:
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'