How do I get a unix timestamp from PHP date time?

2020-07-02 10:47发布

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?

3条回答
男人必须洒脱
2楼-- · 2020-07-02 11:14

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
查看更多
够拽才男人
3楼-- · 2020-07-02 11:19

strtotime Returns a timestamp on success, FALSE otherwise.

 echo strtotime('2012-07-25 14:35:08' );

Output

1343219708
查看更多
▲ chillily
4楼-- · 2020-07-02 11:26

This is converting it to a unix timestamp: strtotime($datetime), but you're converting it back to a date again with date().

查看更多
登录 后发表回答