RE: [PHP] Checking a date for validity
| From: | Chris W. Parker | Date: | Wed, 07 Sep 2005 23:19:05 +0000 |
| Subject: | RE: [PHP] Checking a date for validity | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-222000@lists.php.net to get a copy of this message | ||
Todd Cary <mailto:todd@aristesoftware.com>
on Wednesday, September 07, 2005 3:39 PM said:
> /* Is date good */
> function is_date_good($date) {
> if (strtotime($date) == -1) {
> $retval = 0;
> } else {
> if (strpos($date, "/") > 0) {
> $parts = explode("/", $date);
> } elseif (strpos($date, "-") > 0) {
> $parts2 = explode("-", $date);
> $parts[0] = $parts2[1];
> $parts[1] = $parts2[2];
> $parts[2] = $parts2[0];
Why $parts2?
Just use $parts instead, like you did in the other two blocks.
Change it to:
> if (strpos($date, "/") > 0) {
> $parts = explode("/", $date);
> } elseif (strpos($date, "-") > 0) {
> $parts = explode("-", $date);
> } else {
> $parts = explode(".", $date);
> }
> Is there a simplier solution?
How about strtotime()? In your function you're pretty much only
accepting a certain number of formats for your date already so you could
probably go with just passing the date (in whatever format it's given)
to strtotim() and check for a 'false' or a timestamp.
Chris.