I'm trying to get a unix timestamp with PHP but it doesn't seem to be working. Here is the format I'm trying to convert to a unix timestamp:
PHP
$datetime = '2012-07-25 14:35:08';
$unix_time = date('Ymdhis', strtotime($datetime ));
echo $unix_time;
My result looks like this:
20120725023508
Any idea what I'm doing wrong?
strtotime Returns a timestamp
on success, FALSE otherwise.
echo strtotime('2012-07-25 14:35:08' );
Output
1343219708
This is converting it to a unix timestamp: strtotime($datetime)
, but you're converting it back to a date again with date()
.
To extend the answers here with an object-oriented solution, the DateTime class must be named. The DateTime class is available since PHP 5.2 and can be used as follows.
$date = DateTime::createFromFormat('Y-m-d H:i:s', '2012-07-25 14:35:08');
echo $date->getTimestamp(); // output: 1343219708
Or even as a one-liner
echo $date = (new DateTime('2012-07-25 14:35:08'))->getTimestamp();
// output: 1343219708