Периоды

NeoLynx

Новичок
Периоды

Сижу пишу скрипт, натолкнулся на такой вопрос...
Есть дата начала действия time(), период действия 6 месяцев
Как вычислить время окончания действия?
Логично представить 1 месяц в секундах умножить на период и прибавить к началу, но в месяце от 28 дней до 31 дней.
 

Sergy

Guest
а период действия обязательно в месяцах указывать? можно же и в днях?
 

NeoLynx

Новичок
спасибо, навели на мысль
периодов всего несколько 3 6 12 24 месяцев.

в году 365 дней + 1 день каждые 4 года (в принципе допустимая погрешность :))

тогда период 3 = 365/4
6=365/2
12 = 365
24 = 365*2

Насколько верно такое решение, и как добится более высокой точности?
 

Фанат

oncle terrible
Команда форума
обычно, считается, что дата "через три месяца", это не через 91 день с четвертью а то же самое число, только месяц - на три вперед.

И, если ВНИМАТЕЛЬНО прочитать документацию к функции mktime, на которую есть ссылка в документации к функции функции time(), то можно узнать, как сделать требуемую операцию без лишних вычислений и извращений.
 

NeoLynx

Новичок
сори туплю.

$newdate = mktime(0,0,0,date("m", $startime+$period),date("d", $starttime),date("y", $starttime));

может именно это работать и не будет, но принцип понял.

хех, спать надо идти.
 

Фанат

oncle terrible
Команда форума
не будет - скобку не там поставил.
но принцип понял верно
 
Сверху