Есть промежуток(!) времени а и есть промежуток времени б. Нужно узнать в какое время они пересекаются (а лучше в какой промежуток времени). Как это сделать - ума ни приложу.
Спустя 8 часов, 43 минуты, 52 секунды (3.01.2010 - 21:26) ApuktaChehov написал(а):
Я вот что придумал.
Узнаешь время конца первого и начала второго промежутка в секундах по UNIX таймстамп.
А потом сравниваешь: если время конца первого промежутка больше времени начала второго, то они пересекаются. И если они пересекаются, то можно вычислить так: время конца первого промежутка минус время начала второго - будет тот самый пересекающийся промежуток.
Узнаешь время конца первого и начала второго промежутка в секундах по UNIX таймстамп.
А потом сравниваешь: если время конца первого промежутка больше времени начала второго, то они пересекаются. И если они пересекаются, то можно вычислить так: время конца первого промежутка минус время начала второго - будет тот самый пересекающийся промежуток.
Спустя 1 час, 30 минут, 58 секунд (3.01.2010 - 22:57) andyp написал(а):
Цитата (ApuktaChehov @ 3.01.2010 - 18:26) |
Я вот что придумал. Узнаешь время конца первого и начала второго промежутка в секундах по UNIX таймстамп. А потом сравниваешь: если время конца первого промежутка больше времени начала второго, то они пересекаются. И если они пересекаются, то можно вычислить так: время конца первого промежутка минус время начала второго - будет тот самый пересекающийся промежуток. |
если время конца первого промежутка 1 больше времени начала второго 2, то они могут и не пересекаться, поскольку промежуток 2 может закончиться раньше, чем начался промежуток 1.
То есть, тогда дополнительно нужно знать, что промежуток 2 закончился позже, чем начался первый.
Спустя 2 часа, 16 минут, 13 секунд (4.01.2010 - 01:13) ApuktaChehov написал(а):
Ну, я не стал глубоко задумываться.
Просто подкинул идейку автору темы.
Просто подкинул идейку автору темы.
Спустя 2 дня, 10 часов, 53 минуты, 33 секунды (6.01.2010 - 12:07) KingBabar написал(а):
Цитата |
если время конца первого промежутка 1 больше времени начала второго 2, то они могут и не пересекаться, поскольку промежуток 2 может закончиться раньше, чем начался промежуток 1. wink.gif То есть, тогда дополнительно нужно знать, что промежуток 2 закончился позже, чем начался первый. smile.gif |
ну это уже легко, достаточно добавить условие if ($начало_1го_промежутка<$начала второго промежутка). И тогда предложенная выше схема работает)
Всем спасибо