Thodoris wrote:
2009/7/28 Thodoris <t...@kinetix.gr>:
Hi gang,
  I've been looking for a str_to_date (mysql) equivalent in PHP. I've
noticed that these are matching the description:

http://www.php.net/manual/en/datetime.createfromformat.php
http://www.php.net/manual/en/function.date-create-from-format.php

but I don't have PHP 5.3.0 installed in any of my systems to test it
and the
function/method is not well documented yet. So I will have to write a
workaround this.

Has anybody tried this?
Does strtotime() not work for you?

Well actually it doesn't basically because I need to define the date's
format. This is because strtotime will use for this date:
7/8/2009
the *month/day/year* format but in Greece we usually write dates in
*day/**month/year* so this is causing me trouble.

I have written this in case there is an active database handler around:

function db_date2mysql($date_str,$date_format="%d/%m/%Y",$dbh=null) {
   if (isset($dbh)) {
       $sql = "SELECT STR_TO_DATE('$date_str','$date_format') AS `date`";
       $ar = $dbh->query($sql)->fetch(PDO::FETCH_ASSOC);
       return $ar['date'];
   } else {
       return null;
   }
}

but I will need something more solid.


Just a side question about your function.

Is there a PDO::FETCH_OBJECT  that could be used in place of the
PDO::FETCH_ASSOC that you show.

If so, could you shorten that by one line by doing this

return $dbh->query($sql)->fetch(PDO::FETCH_OBJECT)->date;



Thanks Jim !! That is a very good suggestion.

How did I miss that :-)

--
Thodoris

Reply via email to