17

PHPでUNIXタイムスタンプを取得しようとしていますが、機能していないようです。これが私がUNIXタイムスタンプに変換しようとしているフォーマットです:

PHP

$datetime = '2012-07-25 14:35:08';

$unix_time = date('Ymdhis', strtotime($datetime ));
echo $unix_time;

私の結果は次のようになります。

20120725023508

私が間違っていることについて何か考えはありますか?

4

3 に答える 3

31

strtotime成功した場合はaを返し、timestampそれ以外の場合はFALSEを返します。

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

出力

1343219708
于 2012-10-09T15:04:12.133 に答える
3

これはそれをUNIXタイムスタンプに変換しています:strtotime($datetime)、しかしあなたはそれを再び日付に変換していますdate()

于 2012-10-09T15:04:14.223 に答える
0

ここでの答えをオブジェクト指向ソリューションで拡張するには、DateTimeクラスに名前を付ける必要があります。DateTimeクラスはPHP5.2以降で使用可能であり、次のように使用できます。

$date = DateTime::createFromFormat('Y-m-d H:i:s', '2012-07-25 14:35:08');
echo $date->getTimestamp(); // output: 1343219708

またはワンライナーとしても

echo $date = (new DateTime('2012-07-25 14:35:08'))->getTimestamp();
// output: 1343219708
于 2020-04-23T07:34:32.880 に答える