Невозможно сохранить строку DateTime с двоеточием - PullRequest
0 голосов
/ 23 декабря 2018

Итак, я пытался выяснить, как сохранить строку даты и времени, чтобы она показывала двоеточие между часом и минутой, поэтому все, что я пытался сделать, просто по-видимому превращает ее в точку.

com.Parameters.Add(new SqliteParameter("@DateAdded", 
                                        DateTime.Now.ToString("dd.MM.yyyy - HH:mm")));

Дает:

day.month.year - hour.minute

Когда я пробую другой путь;

com.Parameters.Add(new SqliteParameter("@DateAdded", 
                                         DateTime.Now.ToString("dd.MM.yyyy - HH/mm")));

То же самое происходит:

day.month.year - hour.minute

Даже пробовал использовать \перед ":" но это просто дает мне ошибку.

Ответы [ 2 ]

0 голосов
/ 23 декабря 2018

Спецификатор формата ":" имеет специальный , означающий пользовательские строки формата даты и времени as;

replaceя с текущей культурой или поставляемым культурным разделителем времени.

Похоже, ваше CurrentCulture TimeSeparator свойство отличается от :, поэтому, вы получите другой результат.

Вы всегда можете избежать его, кстати, с помощью кавычек, таких как ':' as;

com.Parameters.Add(new SqliteParameter("@DateAdded",
                                        DateTime.Now.ToString("dd.MM.yyyy - HH':'mm")));

Это то же самое, что The "/" спецификатор пользовательского формата .Кстати, вы протестировали его на второй части кода.

Кроме того, SQLite сохраняет ваши значения даты и времени в формате ISO 8601 , если вы решили сохранить их в виде строки.Итак, в вашем случае вы должны использовать его как;

com.Parameters.Add(new SqliteParameter("@DateAdded",
                                        DateTime.Now.ToString("yyyy-MM-dd HH':'mm':'ss.fff")));
0 голосов
/ 23 декабря 2018

":" в пользовательской строке формата DateTime выведет локализованный разделитель времени.Если вам нужен буквальный символ ":", вы должны избегать его, используя обратную косую черту, то есть

DateTime.Now.ToString("dd.MM.yyyy - HH\\:mm")

или

DateTime.Now.ToString(@"dd.MM.yyyy - HH\:mm")

См. Пользовательские строки формата даты и времени

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