|
Языки программирования Изучаем С++, Sql, php, Lua, Python |
|
Опции темы | Поиск в этой теме | Опции просмотра |
22.02.2013, 09:55 | #1 |
Пользователь
|
DateTime & TimeSpan C#
Подскажите такой момент ,есть код который должен высчитывать разницу до определенного времени ,где day означает день(с 7 -23) или ночь (23-7)
суть в том что при прохождении данной функции ночью к дате должен быть добавлен 1 день например проверка происходит 22.02.2013 23.01 значит TimeEnd (блок else) должен быть уже завтрашним днем тоесть 23.02.2013 07.01 возможно при инициализации строки Код:
DateTime TimeEnd = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 07, 00, 01); В текущей реализации разница ночью получаеться отрицательная (-16 часов ),видимо что то не правильно Код:
static void CheckTime(bool day) { TimeSpan diff = new TimeSpan(); if (day) { DateTime TimeNow = DateTime.Now; DateTime TimeEnd = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 00, 01); diff = TimeEnd - TimeNow; } else { DateTime TimeNow = DateTime.Now; DateTime TimeEnd = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 07, 00, 01); if (TimeNow.Hour == 23) { DateTime.Today.AddDays(1); } Console.WriteLine("Выполняю действие " + TimeEnd + "-" + TimeNow ); diff = TimeEnd - TimeNow; } } ADD Ошибся наверно с переменными должно быть так Код:
if (TimeNow.Hour == 23) { TimeEnd.AddDays(1); }
__________________
Когда-нибудь на оффе поставят Mangos... Последний раз редактировалось partizanes; 22.02.2013 в 10:18. |