MultiDev
MultiDev

Reputation: 10649

PHP- strtotime not converting properly

I don't understand why strtotime is returning a date off by a few days.

$expiration = '2015-07-19'; // yyyy-mm-dd
$exp = strtotime($expiration);
$exp = date('F m, Y',$exp);

echo $exp; // returns "July 07, 2015" (NOT the 19th)

What am I missing?

UPDATE: Even if I do this:

echo date('F m, Y');

It says it's August 8 when today is August 21! Why!?!?!?

Upvotes: 0

Views: 195

Answers (2)

John Robertson Nocos
John Robertson Nocos

Reputation: 1485

Here it is: Outputs July 19, 2015. See demo. You are using two characters to represent months in your date function. F and m are textual and numeric representations of a month. So change 'm' to 'd' to represent days. date("F d, Y") e.g. January 01, 2000

$expiration = '2015-07-19'; // yyyy-mm-dd
$exp = strtotime($expiration);
$exp = date('F d, Y',$exp);

echo $exp;

DEMO

Upvotes: 1

MH2K9
MH2K9

Reputation: 12039

Try this

$expiration = '2015-07-19'; // yyyy-mm-dd
$exp = strtotime($expiration);
//$exp = date('F m, Y',$exp);
$exp = date('jS F, Y',$exp);

Output

19th July, 2015

Upvotes: 1

Related Questions