TimeOfDay дает неправильное время
Я сделал таймер, который обновляется каждые 1000 миллисекунд, и я поставил код как:
Private Sub RealTimeTMR_Tick(sender As Object, e As EventArgs) Handles RealTimeTMR.Tick
TimeLBL.Text = TimeOfDay.ToLocalTime.ToString
End Sub
Можно было бы подозревать, что это безупречно и просто, но когда я запускаю программу, я получаю значение метки как: 01/01/0001 18:59:36
Если это имеет какое-либо значение для форматов или что-то еще, я живу в Ирландии.
2 ответа
Решение
Это потому что TimeOfDay
только компонент времени и его компонент Date установлен на все 1.
Вы могли бы использовать что-то вроде DateTime.Now
чтобы получить эту информацию - она должна вернуть текущую локальную дату и время машины, на которой она была выполнена.
Если вы хотите только время, используйте:
TimeLBL.Text = DateTime.Now.TimeOfDay.ToString("g")
См. Стандартные строки формата TimeSpan и Пользовательские строки формата TimeSpan для получения дополнительной информации о форматировании.