алгоритм сравнения дат

ditban
Дата: 28.11.2014 15:39:47
Подскажите, каким образом можно организовать данный алгоритм:
есть 2 даты. необходимо посчитать количество рабочих часов между ними, при условии, что рабочие дни: с пон по четв с 9 до 18, в пятницу - с 9 до 17, суб и воскр - выходные
mayton
Дата: 28.11.2014 16:00:33
В идеале еще и праздники учитывать надо. Или у вас нет праздников?
Dimitry Sibiryakov
Дата: 28.11.2014 16:06:12

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

Posted via ActualForum NNTP Server 1.5

Dimitry Sibiryakov
Дата: 28.11.2014 16:10:31

Ах да, ещё надо учитывать отгулы, прогулы, отпуска, больничные.

Posted via ActualForum NNTP Server 1.5

mayton
Дата: 28.11.2014 16:25:41
Ладно будет вам. Совсем автора запутали.

Вобщем есть в Эксцеле.

http://office.microsoft.com/ru-ru/training/RZ010278632.aspx?section=8

На сях... гуглю но кругом одни экцельные решения.
egorych
Дата: 28.11.2014 16:37:02
mayton
Ладно будет вам. Совсем автора запутали.

Вобщем есть в Эксцеле.
осталось портировать на С функцию "чиста раб дни"
mayton
Дата: 28.11.2014 16:38:30
Да может просто найти стартовый день от Григорианского и вычислять остаток от деления на 7.
m_Sla
Дата: 01.12.2014 07:08:19
Делал бы так:
количество_рабочих_часов(начальная_дата, конечная_дата)
{
	текущая_дата = начальная_дата;
	количество_рабочих_часов = 0;

	пока(текущая_дата <= конечная_дата)
	{
		количество_рабочих_часов += ... /* прибавляем в зависимоти от текущего дня недели */
		
		текущая_дата += 1 день;

	}
	
	return количество_рабочих_часов;
}
mayton
Дата: 01.12.2014 10:01:22
С Пасхой там есть нюансы. У православных ее дата - плавающая.
Dima T
Дата: 01.12.2014 10:22:40
Определение праздничных дней автоматизировать невозможно. Законодатели наши непостоянны :)
Да и выходные рабочими бывают в результате переносов праздничных.

Обычно в БД делают отдельную таблицу с календарем, куда вносят все дни с пометкой рабочий/сокращенный/выходной/праздничный. Дальше все расчеты по ней.

PS Какой-то депутат на днях рацпредложение двинул: праздники не переносить если на выходные выпадают. Могут принять.