Формат даты и времени, когда приложение работает как служба Windows - PullRequest
0 голосов
/ 10 октября 2011

В моей системе формат даты установлен как YYY-MM-DD формат. Так что мое приложение c # примет этот формат при вызове DateTime.Now, что хорошо.

Теперь установил мое приложение как службу, используя команду Install util.

После запуска служб он получает формат даты как dd/mm/yyy. Но я хочу сохранить формат в формате yyy-MM-DD в базе данных.

Нужно ли мне изменить свой код или я могу установить этот формат в системе.

, поскольку региональные настройки уже выполнены только в формате yyy-mm-dd.

Эта проблема возникает только при установке приложения в качестве службы.

Пожалуйста, помогите. Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 10 октября 2011

Первый вопрос к вам: почему вы храните дату в виде строки в вашей базе данных?Я настоятельно рекомендую хранить его как значение даты.Это устранит любые проблемы с форматированием при хранении данных.

В качестве второго предложения я бы позаботился о явном форматировании строки, а не полагаясь на системные настройки, если вам нужно сохранить ее в определенном формате:

var dateAsString = theDate.ToString("yyyy-MM-dd");
1 голос
/ 10 октября 2011

В моей системе формат даты установлен в формате ГГГ-ММ-ДД

В региональных настройках?

Это задает формат только для текущего пользователя.Следовательно, не влияет на процессы, выполняемые от имени другого пользователя, как сервисные процессы почти всегда.

1 голос
/ 10 октября 2011

Используйте форматирование даты и времени:

 DateTime.Now.ToString("yyy-MM-dd");

Это даст вам:

yyy: год (такой же, как yyyy), например, 2011
MM: номер месяца (одна цифра отформатирована с начальным нулем)
dd: номер дня (одна цифра отформатирована с начальным нулем)

...