Как вы получаете текущее время в миллисекундах (долго), в VB.Net? - PullRequest
12 голосов
/ 08 декабря 2010

Я ищу эквивалент Java System.currentTimeMilli() в VB.NET.

Какой метод вызывать? Я знаю о Datetime.Now, но не о фактическом преобразовании в длинные миллисекунды.


Подробнее о моей конкретной потребности:

Мне нужно управлять сроком действия логина. Поэтому, скорее всего, когда я войду в систему, я установлю «expiration_time_milli», равный текущему времени + значение тайм-аута. Затем, если я захочу проверить, действителен ли мой логин, я проверю, что "expiration_time_milli" все еще превосходит текущее время.

Ответы [ 5 ]

12 голосов
/ 08 декабря 2010

Получите разницу между текущим временем и источником времени, используйте свойство TotalMilliseconds, чтобы получить промежуток времени в миллисекундах, и приведите его к длинному.

DirectCast((Datetime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds, Int64)
5 голосов
/ 08 декабря 2010

Вы могли бы использовать

(DateTime.Now-new DateTime(1970,1,1)).TotalMilliseconds

Кстати, просто угадав по вашему вопросу, что вы могли бы быть более полезным для вас может быть

DateTime.UtcNow
4 голосов
/ 08 декабря 2010

Для информации, мой личный случай был исправлен другим способом, без получения того же значения, что и 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)
1 голос
/ 21 ноября 2013

Вы также можете использовать это значение, если вы ищете только уникальный номер. DateTime.Now.Ticks

Подробнее http://msdn.microsoft.com/en-us/library/system.datetime.ticks(v=vs.110).aspx

0 голосов
/ 08 декабря 2010
    Dim myTime As DateTime = DateTime.Now
    MessageBox.Show(myTime.Millisecond)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...