Неверная дата, если дата неверна на компьютере с использованием DateTime.UtcNow - PullRequest
0 голосов
/ 15 апреля 2020

Я хочу добавить опубликованную дату продукта в базу данных. Я использую DateTime.UtcNow, но на компьютере отображается неверная дата, если она неверна. Как я могу решить эту проблему?

У меня есть столбец "prodpostDate" в таблице "product" и его тип nvarchar.

 DateTime aDate = DateTime.UtcNow;
 item.prodpostDate= aDate.ToString("dddd, dd MMMM yyyy");
  _context.Products.Add(item);

1 Ответ

3 голосов
/ 15 апреля 2020

Дата не неправильная. Дата точно такая, какой она должна быть. Когда вы вызываете функции Now, он извлекает дату и время с компьютера, который выполняет код. Если дата неверна на компьютере, вам необходимо обновить ее / изменить часовой пояс.

Расширение комментария ниже:

Если вы хотите, чтобы дата и время не зависели от локальных настроек пользователя вы не можете получить дату и время с их локального компьютера, что происходит, если вы вызываете функцию Now из кода, запущенного на клиенте. Вам нужно позвонить в другой источник, чтобы получить его. Если вы используете API, вы можете позвонить ему со своего клиента, чтобы узнать текущую дату и время. Даже лучше, если вы в конечном итоге отправляете запрос на обновление сервера, просто не отправляйте дату и время, чтобы сервер получил и заполнил ее. Или, если вы делаете обновление базы данных, дайте базе данных получить дату и время обновления / вставки.

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