Member 10877592 Ответов: 2

C#, нужна помощь с кодом


Привет,
Сейчас у меня есть еще один вопрос, связанный с тем же проектом, о датах.
Мне нужно внедрить код о продолжительности пребывания в отеле и использовать его для общей суммы в счете.

То, как я написал свой код, не работает должным образом, я установил даты с 30/05/2018 по 06/02/2018, но работает, если настроить 1/05/2018-10/05/2018.


Спасибо.

Что я уже пробовал:

DateTime DateIn, DateOut;
           int TotalDays;

           DateIn = Convert.ToDateTime(entryDatePicker.Value);
           DateOut = Convert.ToDateTime(depDatePicker.Value);

           TotalDays =(DateOut-DateIn).Days;

F-ES Sitecore

"Не работает" не дает никому достаточно информации, чтобы быть в состоянии помочь вам. Вы бы позвонили механику и сказали: "моя машина не работает, как мне ее починить?"

На первый взгляд это проблема локализации относительно формата, в котором ваша ОС предполагает ваши даты, она должна принять формат, потому что вы явно не дали его, и она не может читать ваши мысли. Как он узнает, является ли "30/5" 30-м днем 5-го месяца или 5-м днем 30-го месяца?

Bryian Tan

Попробуйте сделать это в формате ММ/ДД/гггг.

2 Ответов

Рейтинг:
2

Gerry Schmitz

"DateTimePicker" "Value" уже является DateTime; поэтому нет необходимости его преобразовывать.

И единственное, что обращают.ToDateTime не примет это: еще одна дата-время!


Рейтинг:
0

MadMyche

Проблема, похоже, находится в формате DateTime; 3 из 4 дат, которые вы даете, действительны либо в формате mm/dd/yyyy, либо в формате dd/mm/yyyy.

Возможно, вы захотите попробовать использовать DateTime.Метод ParseExact:

DateTime dt=DateTime.ParseExact("24/01/2013", "dd/MM/yyyy", CultureInfo.InvariantCulture);