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 для получения дополнительной информации о форматировании.

Другие вопросы по тегам