nick
nick

Reputation: 891

convert datetime from mysql to human readable string

I have a datetime that I get from a mysql table and I would like to display it as a string.It looks like the following and I would like it to look like July 14th 2016 at 5:00 PM.

2016-07-14 17:00:00

I tried formatting like the following, but it didn't work. How do i get it how I want?

    date_format($date, 'g:ia \o\n l jS F Y');

Upvotes: 3

Views: 2131

Answers (5)

Pero
Pero

Reputation: 75

Simple:

$mysqlDate = "2016-07-14 17:00:00";
$formatted = date('F dS Y \a\t H:iA', strtotime($mysqlDate));

Will display: July 14th 2016 at 5:00PM

Edit: i have forgotten to add the "at"

Upvotes: 1

Shivangi Gupta
Shivangi Gupta

Reputation: 876

$date=date_create("2016-07-14 17:00:00");
echo date_format($date,'jS F Y \a\t g:ia');

Output : 14th July 2016 at 5:00pm

Upvotes: 1

showdev
showdev

Reputation: 29168

You can use PHP's date_format, but it expects a date object rather than a string.

date_format ( DateTimeInterface $object , string $format )

Here's an example using the procedural style:

$date_string="2016-07-14 17:00:00";
$date_object=date_create($date_string);
echo date_format($date_object, 'g:ia \o\n l jS F Y');

Here's an example using the object oriented style:

$date_string="2016-07-14 17:00:00";
$date_object=new Datetime($date_string);
echo $date_object->format('g:ia \o\n l jS F Y');

Output:

5:00pm on Thursday 14th July 2016

Upvotes: 2

Felipe G.
Felipe G.

Reputation: 154

Use DateTime

<?php
    $datetime = "2016-07-14 17:00:00";

    $dt = new DateTime($datetime);
    echo $dt->format('F jS Y \a\t g:ia');
?>

Output: July 14th 2016 at 5:00pm

Upvotes: 1

Poiz
Poiz

Reputation: 7617

You just have to convert the $date to Timestamp using something like strtotime() perhaps and then pass this as the second argument to PHP's date() function. The First Argument would be the Format for the Date. This below illustrates it....

<?php
    $date   = "2016-07-14 17:00:00";
    $date   =  date('g:ia \o\n l jS F Y', strtotime($date));

    var_dump($date);
    // PRODUCES: '5:00pm on Thursday 14th July 2016'  (length=33);

Upvotes: 5

Related Questions