As I assemble this year's Photos of the Year for my blog, I decided to make a tool to simplify a task I do a lot, which is taking the HTML for an image in one gallery and putting it into a new gallery. (Using the homebrew css-based photogallery I made a while back.)
Anyway, I had to look up how to get a range of dates in PHP (inclusive of the endpint, which needed an extra "modify"). So here's my code at the moment, which builds a form with two input fields (defaulting to last month), with sensible defaults for most things, and shows you the dates betwee
<? $now = date('Y-m-d'); $end = requestval('end',$now); $before = date('Y-m-d',strtotime("-1 month")); $start = requestval('start',$before); ?> <form> <label>start <input type="date" name="start" value="<? echo $start ?>"></label> <label>end <input type="date" name="end" value="<? echo $end ?>"></label> <button>go</button> </form> <ul> <? $periodstart = new DateTime($start); $periodend = new DateTime($end); $periodend->modify( '+1 day' ); $period = new DatePeriod($periodstart,new DateInterval('P1D'),$periodend); foreach ($period as $key => $value) { $day = $value->format('Y-m-d') ; echo "<li>$day"; } function requestval($key, $default = ''){ return isset($_REQUEST[$key]) ? $_REQUEST[$key] : $default; }
?> </ul>
I like how PHP has such useful date stuff baked in, even if the API is kind of messy.
No comments:
Post a Comment