Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / алгоритм сравнения дат / 11 сообщений из 11, страница 1 из 1
28.11.2014, 15:39
    #38819728
ditban
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм сравнения дат
Подскажите, каким образом можно организовать данный алгоритм:
есть 2 даты. необходимо посчитать количество рабочих часов между ними, при условии, что рабочие дни: с пон по четв с 9 до 18, в пятницу - с 9 до 17, суб и воскр - выходные
...
Рейтинг: 0 / 0
28.11.2014, 16:00
    #38819767
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм сравнения дат
В идеале еще и праздники учитывать надо. Или у вас нет праздников?
...
Рейтинг: 0 / 0
28.11.2014, 16:06
    #38819782
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм сравнения дат
Посчитать полное количество часов, потом пробежаться по нерабочим дням и вычесть их часы.
Праздники не забывай тоже...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
28.11.2014, 16:10
    #38819791
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм сравнения дат
Ах да, ещё надо учитывать отгулы, прогулы, отпуска, больничные.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
28.11.2014, 16:25
    #38819806
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм сравнения дат
Ладно будет вам. Совсем автора запутали.

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

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

На сях... гуглю но кругом одни экцельные решения.
...
Рейтинг: 0 / 0
28.11.2014, 16:37
    #38819814
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм сравнения дат
maytonЛадно будет вам. Совсем автора запутали.

Вобщем есть в Эксцеле.осталось портировать на С функцию "чиста раб дни"
...
Рейтинг: 0 / 0
28.11.2014, 16:38
    #38819817
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм сравнения дат
Да может просто найти стартовый день от Григорианского и вычислять остаток от деления на 7.
...
Рейтинг: 0 / 0
01.12.2014, 07:08
    #38820984
m_Sla
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм сравнения дат
Делал бы так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
количество_рабочих_часов(начальная_дата, конечная_дата)
{
	текущая_дата = начальная_дата;
	количество_рабочих_часов = 0;

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

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

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

PS Какой-то депутат на днях рацпредложение двинул: праздники не переносить если на выходные выпадают. Могут принять.
...
Рейтинг: 0 / 0
01.12.2014, 12:20
    #38821258
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм сравнения дат
ditban, тебя интересует обсуждение этого решения на С++ или "алгоритм" вообще?
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / алгоритм сравнения дат / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]