Как установить формат объекта DateTime?
Вы не можете. DateTime
значения не имеют форматы, не более int
или double
значения. Когда вы хотите преобразовать их в/из строк, это, где вы указываете любую информацию о форматировании.
Вместо этого вы должны использовать параметризованный SQL и не преобразовывать значение DateTime
в строку в первую очередь. Это общая рекомендация - не включайте значения в строку SQL; параметризованных SQL имеет несколько преимуществ:
- Избегает SQL injection attacks
- Это позволяет избежать проблемы преобразования, как это один
- Он держит ваш код (SQL) отдельно от данных (значений параметров)
I будет также предположить, что вместо использования Convert.ToDateTime
вы определяете свой ожидаемый формат при разборе. Например:
timeStamp = DateTime.ParseExact(y.InnerText,
"dd/MM/yyyy HH:mm:ss",
CultureInfo.InvariantCulture);
В принципе, эти два правила я стараюсь применять следующие:
- Избегайте выполнения любой преобразования, где вы не должны. Если вы убедитесь, что каждая система использует нужные типы данных, насколько это возможно, вам часто не нужно делать никаких конверсий.
- Где вам do необходимо преобразовать в/из представлений строк, очень подробно о представлении, которое вы хотите потреблять/производить. Для машиночитаемых значений, которые обычно должны использовать инвариантную культуру и, возможно, пользовательский формат даты и времени. Для человекочитаемых значений, которые обычно должны использовать культуру пользователя и стандартный формат даты/времени.
Что такое тип данных вашей колонки базы данных, если это 'DateTime', то я думаю, вы используете конкатенации для создания запроса. Использовать параметризованные запросы – Habib
'DateTime' является агностиком формата, только если вы конвертируете его в строку, он будет локализован. – Lloyd
Если параметр 'параметр/поле базы данных' '' тип datetime ', вы должны быть в порядке. Не рекомендуется передавать дату в виде строки. В основном дата не имеет формата. – Kaf