note 38666 added to function.cal-days-in-month

From: Date: Fri, 02 Jan 2004 02:06:26 +0000
Subject: note 38666 added to function.cal-days-in-month
Groups: php.notes 
Request: Send a blank email to php-notes+get-62767@lists.php.net to get a copy of this message
Here's a genius one-line function I just wrote to find the numbers of days in a month that doesn't depend on any other functions. Since I removed all unnecessary parentheses, this is probably the single most cryptic line of PHP you will ever encounter. The reason I made this is because I just found out I forgot to compile PHP with support for calendars, and a class I'm writing for my website's open source section was broken. So rather than recompiling PHP (which I will get around to tomorrow I guess), I just wrote this function which should work just as well, and will always work without the requirement of PHP's calendar extension or any other PHP functions for that matter. I learned the days of the month using the old knuckle & inbetween knuckle method, so that should explain the mod 7 part. :) <?php /* * days_in_month($month, $year) * Returns the number of days in a given month and year, taking into account leap years. * * $month: numeric month (integers 1-12) * $year: numeric year (any integer) * * Prec: $month is an integer between 1 and 12, inclusive, and $year is an integer. * Post: none */ function days_in_month($month, $year) { return $month == 2 ? $year % 4 ? 28 : 29 : ($month % 7 % 2 ? 31 : 30); } ?> Enjoy, David Bindel ---- Manual Page -- http://www.php.net/manual/en/function.cal-days-in-month.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+38666 Delete -- http://master.php.net/manage/user-notes.php?action=delete+38666&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+38666&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#62767) next »