user1956040
user1956040

Reputation: 111

datetime only returning date

I have a table with column date set to datetime. When i return and get the date from row it is only returning the date and not the time.

 $date = $row["date"];

I have tried to format as below and I get the error of:

Warning: date_format() expects parameter 1 to be DateTime, string given

 $date = date_format($row["date"], 'Y-m-d H:i:s');

How do I get the whole value?

Upvotes: 0

Views: 8843

Answers (4)

Floris
Floris

Reputation: 46365

You need to convert your string $date to the right type. I had to try a few things to get this right, but this now behaves on my machine:

$thisDate = "2013-02-02 22:17:06"; // example you gave, as a string

$timezone="America/New_York";      // machine was complaining when I didn't specify

$DT = new DateTime($thisDate, new DateTimeZone($timezone)); // this really is a DateTime object

echo $DT->format('Y-m-d H:i');    // you can echo this to the output

$dateString = $DT->format('Y-m-d H:i:s');  // or format it into a string variable

Upvotes: 2

Aditya Amit
Aditya Amit

Reputation: 154

You need to convert the string to date type first. Then date_format() will work. Try the following.

$date = date_format(date_create($row["date"]), 'Y-m-d H:i:s');

Good Luck

Upvotes: 0

Sudhir Bastakoti
Sudhir Bastakoti

Reputation: 100175

try:

$date = date_format(new DateTime($row['date']), "Y-m-d H:i:s");

OR

$date = date('Y-m-d H:i:s', strtotime($row['date']));

Upvotes: 2

John Woo
John Woo

Reputation: 263693

in your select statement, cast the date into datetime. ex

SELECT CAST(date AS DATETIME) newDate

and retrieve it as

$dateTime = strtotime($row["newDate"]);

Upvotes: 2

Related Questions