![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 11.10.2012
Сообщений: 409
|
![]()
Даны 3 даты: dd1,dd2,dd3, mm1,mm2,mm3,yy1,yy2,yy3.
Нужно проверить лежит ли дата dd1.mm1.yy1. в заданном промежутке времени (dd2.mm2.yy2 - dd3.mm3.yy3) Вот привожу свои наработки. Код:
date1[0] - вторая дата date1[1] - третья дата. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Если так подходить, то гораздо более многоэтажно условие должно быть. Проще: каждую дату преобразовать в yy*10000+mm*100+dd и сравнить три числа
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 11.10.2012
Сообщений: 409
|
![]()
Хорошо, тогда объясните мне, как мне каждый раз высчитывать кол-во дней в месяце и дней в году?
был вариант dd+mm*31+yy*365, но такой метод не давал требуемой точности Последний раз редактировалось Stilet; 23.11.2013 в 16:03. |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
13.11.2013 -> 2013*10000+11*100+13 = 20131113
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 23.11.2013 в 15:31. |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
![]()
Или альтернативный вариант (C#, но принцип думаю понятен)
Код:
Благодарить в репутацию. Проклинать — туда же
![]() Последний раз редактировалось Luuzuk; 23.11.2013 в 15:36. |
![]() |
![]() |
![]() |
#6 | ||
Форумчанин
Регистрация: 11.10.2012
Сообщений: 409
|
![]() Цитата:
Цитата:
Последний раз редактировалось Stilet; 23.11.2013 в 16:05. |
||
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
![]() Цитата:
![]() Дата входит в период, если она больше даты начала периода, но меньше даты конца периода (или равна им, зависит от условий задачи) Compare(target, start) – сравниваем целевую дату (target) и начало периода (start). Если результат сравнения больше нуля, то target > start. Если результат нулевой, то target = start. Далее - аналогично с датой окончания
Благодарить в репутацию. Проклинать — туда же
![]() Последний раз редактировалось Luuzuk; 23.11.2013 в 15:50. |
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 11.10.2012
Сообщений: 409
|
![]() |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Чтобы цифры года, месяца и дня расположить позиционно по старшинству не перекрывая друг друга
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Количество дней недели в периоде | Fox River | Microsoft Office Excel | 6 | 10.12.2011 22:53 |
лежит ли точка внутри треугольника | х-prof | Помощь студентам | 1 | 16.06.2011 20:16 |
Дата введённая "ручками" и дата полученная по ссылке | kzld | Microsoft Office Excel | 0 | 06.05.2011 14:45 |
Вычитание дат(дата-дата=кол.дней) | zallza | Общие вопросы Delphi | 1 | 31.05.2010 22:50 |
Дата Конечная (ДД.ММ.ГГГГ) - Дата Начальная (ДД.ММ.ГГГГ) = Количество Месяцев | stanislav24 | Microsoft Office Excel | 5 | 20.12.2008 10:36 |