Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с интервалами дат 
V
    Опции темы
xsb3
Дата 9.10.2009, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 1.12.2006

Репутация: нет
Всего: нет



ребята сталкнулся с такой задачей пример имею даты  "2009:11:01 12:12:00" и "2009:11:01 10:12:00" как вычисть из 1 даты другую и получить интервал между ними в часах. нашел пример в сети 
Код

public static int DaysDiff(DateTime date1, DateTime date2)
{
return date1.Subtract(date2.Date).Hours;
}

но чему бы не был равен date1 например "2009:11:01 12:12:00" из него не вычитается  "2009:11:01 10:12:00" а в результате примера выше int возвращается равный часу в date1
PM MAIL   Вверх
BinaryShadow
Дата 10.10.2009, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 10.3.2004

Репутация: 1
Всего: 1



Ты будешь долго смеяться... ошибка заключается в "2009:11:01 12:12:00" если исправишь на "2009-11-01 12:12:00" все заработает  smile 
PM   Вверх
KelTron
Дата 10.10.2009, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 9
Всего: 38



Ну потому что date2.Date это дата с нулевым временем, измени строчку:
Код

return date1.Subtract(date2.Date).Hours;

на
Код

return date1.Subtract(date2).Hours;


P.S. Подозреваю, что тебе нужно использовать TotalHours, а не Hours, т.к. Hours - это только текущие часы в дате, а TotalHours это весь промежуток времени преобразованный в часы.

Это сообщение отредактировал(а) KelTron - 10.10.2009, 16:17


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
MrDale
Дата 21.10.2009, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 15.10.2006
Где: Ульяновск

Репутация: нет
Всего: нет



Код

static void Main(string[] args)
        {
            DateTime date1 = DateTime.Parse("2009-11-01 12:12:00");
            DateTime date2 = DateTime.Parse("2009-11-01 10:12:00");
            //int h = (int)((date1 - date2).TotalHours);
            int h = (int)(date1.Subtract(date2).TotalHours);
            Console.Write("{0} - {1} = {2}", date1, date2, h);
            Console.ReadKey();
        }

PM MAIL WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0404 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.