В настоящее время я разрабатываю онлайн-подписку. У меня возникают некоторые проблемы со стороны, когда пользователь будет выбирать количество дней для подписки, а затем дату начала. Затем PHP-приложение должно иметь возможность вычислять конечную дату, исключая выходные.
<form method="post"> <input name="startdate" type="text" /> <input name="numberofdays" type="text" /> </form>
Кто-нибудь может мне помочь?
зависит от того, как startdate
, но если вы используете Ymd, вы можете использовать DateTime
например:
<?php $_POST['startdate'] = '2012-08-14'; $_POST['numberofdays'] = 10; $d = new DateTime( $_POST['startdate'] ); $t = $d->getTimestamp(); // loop for X days for($i=0; $i<$_POST['numberofdays']; $i++){ // add 1 day to timestamp $addDay = 86400; // get what day it is next day $nextDay = date('w', ($t+$addDay)); // if it's Saturday or Sunday get $i-1 if($nextDay == 0 || $nextDay == 6) { $i--; } // modify timestamp, add 1 day $t = $t+$addDay; } $d->setTimestamp($t); echo $d->format( 'Ymd' ). "\n"; ?>