Как вы получаете текущее время в миллисекундах (долго), в VB.Net?
Я ищу эквивалент Java System.currentTimeMilli()
в VB.NET.
Каков метод вызова? Я знаю о Datetime.Now, но не о фактическом преобразовании в длинные миллисекунды.
Подробнее о моей конкретной необходимости:
Мне нужно управлять истечением логина. Поэтому, скорее всего, когда я войду в систему, я установлю "expiration_time_milli", равный текущему времени + значение таймаута. Затем, если я хочу проверить, действительно ли мой логин действителен, я проверю, что "expiration_time_milli" по-прежнему превосходит текущее время.
Ответы
Ответ 1
Получите разницу между текущим временем и временем начала, используйте свойство TotalMilliseconds
, чтобы получить промежуток времени в миллисекундах, и произведите его до конца.
DirectCast((Datetime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds, Int64)
Ответ 2
Вы можете использовать
(DateTime.Now-new DateTime(1970,1,1)).TotalMilliseconds
Btw, просто угадывая по вашему вопросу, что вы могли бы быть более полезными для вас, возможно,
DateTime.UtcNow
Ответ 3
Для информации, мой личный случай был исправлен другим способом, без получения того же значения, что и System.currentTimeMilli():
Dim loginExpirationDate As Date
'...
'Checking code:
If (loginExpirationDate < DateTime.Now) Then
reconnect()
End If
'update the expiration date
loginExpirationDate = DateTime.Now.AddMilliseconds(timeoutMilli)
Ответ 4
Вы также можете использовать это значение, если ищете только уникальный номер.
DateTime.Now.Ticks
См. подробности
http://msdn.microsoft.com/en-us/library/system.datetime.ticks(v=vs.110).aspx
Ответ 5
Dim myTime As DateTime = DateTime.Now
MessageBox.Show(myTime.Millisecond)