DateTime.today () работает по-разному в администраторе - PullRequest
0 голосов
/ 06 июля 2018

Я живу в Канаде, формат DateTime.Today записывается как dd/mm/yyyy. Странно, когда я запускаю приложение от имени администратора, оно записывает формат DateTime. Today как mm/dd/yyyy.

Могу ли я сделать чек? Или это настройка даты и времени компьютера?

1 Ответ

0 голосов
/ 06 июля 2018

Объект DateTime внутренне не представлен в днях и месяцах, поэтому фактически он не имеет собственного формата. (Существует также не метод DateTime.Today(), а свойство DateTime.Today)

DateTime (который DateTime.Today возвращает экземпляр) имеет метод ToString(), который объявлен как:

public override string ToString()
{
  return DateTimeFormat.Format(this, (string) null, DateTimeFormatInfo.CurrentInfo);
}

То, что CurrentInfo будет отличаться для разных пользователей на машине. Некоторые операции неявно вызывают ToString() (например, Console.WriteLine)

Хорошей новостью является то, что существуют перегрузки для ToString(), поэтому вы можете сделать что-то вроде

Console.Write(DateTime.Today.ToString("dd/MM/yyyy"));

(или любой IFormatProvider)

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