The second parameter to
date() needs to be a proper timestamp (seconds since January 1, 1970). You are passing a string, which date() can't recognize.
You can use strtotime() to convert a date string into a timestamp. However, even strtotime() doesn't recognize the
y-m-d-h-i-s format.
PHP 5.3 and up
Use
DateTime::createFromFormat. It allows you to specify an exact mask - using the date()syntax - to parse incoming string dates with.
PHP 5.2 and lower
You will have to parse the elements (year, month, day, hour, minute, second) manually using
substr() and hand the results to mktime() that will build you a timestamp.
But that's a lot of work! I recommend using a different format that strftime() can understand. strftime() understands any date input short of
the next time joe will slip on the ice. for example, this works:$old_date = date('l, F d y h:i:s'); // returns Saturday, January 30 10 02:06:34
$old_date_timestamp = strtotime($old_date);
$new_date = date('Y-m-d H:i:s', $old_date_timestamp);
