Вопросы, касающиеся DateTime и System.Data.SQLite - PullRequest
1 голос
/ 29 июня 2011

Чтобы заполнить свою базу данных, я использовал встроенную команду SQLite для datetime:

INSERT INTO samples (timestamp, sample_value) Values(datetime('now','localtime'), ...)

Когда я смотрю на это на моем Mac с помощью Reader SQLite с именем Base, я вижу следующую временную строку:

2011-06-20 13:18:14

Когда я отлаживаю свою программу vb.net, эта строка:

ts2 = CStr(r("timestamp"))

дает мне

6/20/2011 1:18:14 PM

Для анализа этого я использовал:

 ts = DateTime.ParseExact(ts2, "M/d/yyyy H:mm:ss tt", _
                                     System.Globalization.CultureInfo.CurrentUICulture)

Это работает для показаний в 12:00:00, но как только я добираюсь до 13:00, я получаю System.FormatException: строка не была распознана как допустимый DateTime.

Это форматирование пользовательского интерфейсаразница между ПК и Mac?Что может происходить?

1 Ответ

3 голосов
/ 29 июня 2011

Я думаю, что вы хотите h вместо H в строке формата.Попробуйте "M/d/yyyy h:mm:ss tt"

h в 12-часовом формате, а H используется в 24-часовом формате, а ваша строка 6/20/2011 1:18:14 PM требует h.

Ссылка

...