при вставке объекта DateTime из кода C # в базу данных Sql Server формат синтаксиса изменяется

#c# #sql-server #datetime

#c# #sql-server #datetime

Вопрос:

при вставке объекта DateTime из кода C # в базу данных Sql Server формат синтаксиса изменяется в c #: статическое DateTime newtime = DateTime .Теперь; вывод: 10.11.2020 6:22:06 PM, но при вставке его в базу данных поле будет: 2020-11-10 10:31:00 могу ли я узнать причину?

Комментарии:

1. Типы данных даты и времени не имеют формата; формат определяется уровнем представления.

2. Вы неправильно понимаете, что происходит. Дата не имеет формата, когда она находится в объекте C # DateTime или когда она хранится в столбце SQL DateTime. Он имеет формат только тогда, когда он показан людям или введен людьми . Поэтому любой формат, который вы видите, является результатом использования программного обеспечения для извлечения даты из базы данных и ее отображения. Этого не происходит при вставке данных.

3. Кроме того, изменение времени, которое вы видите, вероятно, связано с различиями в часовых поясах

Ответ №1:

Это потому, что ваш Database представляет DateTime в YYYY-MM-DD TT:TT:TT формате. Но C # использует ваш текущий системный формат для представления его в виде строки. Также на самом деле это toString метод вызова отладчика для DateTime, чтобы показать вам формат строки.

Но оба представляют один и тот же момент времени.