Re: Checking a date for validity

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Chris W. Parker wrote:
Todd Cary <mailto:todd@xxxxxxxxxxxxxxxxxx>
    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.
Chris -

That you for the helpful comments!  The reason I use the strtotime() up
front is to make sure "junk" data has not been placed in the fields.  My
client tests by putting "%^&#$" into fields, and that creates a problem
with their php 4.2.x but not with my 4.3.9.  The strtotime() took care
of the problem...

Todd

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux