PHPで日付形式を別の形式に変換する 質問する

PHPで日付形式を別の形式に変換する 質問する

PHP で 1 つの日付形式を別の日付形式に変換する簡単な方法はありますか?

私はこれを持っています:

$old_date = date('y-m-d-h-i-s');            // works

$middle = strtotime($old_date);             // returns bool(false)

$new_date = date('Y-m-d H:i:s', $middle);   // returns 1970-01-01 00:00:00

しかし、もちろん、夜明けの日付ではなく現在の日付を返したいのですが、何が間違っているのでしょうか?

ベストアンサー1

2 番目のパラメータはdate()適切なタイムスタンプ (1970 年 1 月 1 日からの秒数) である必要があります。date() が認識できない文字列を渡しています。

使用できますstrtotime()日付文字列をタイムスタンプに変換します。ただし、strtotime() でもそのy-m-d-h-i-s形式は認識されません。

PHP 5.3以上

使用DateTime::createFromFormatdate()構文を使用して、受信した文字列の日付を解析するための正確なマスクを指定できます。

PHP 5.2以下

要素(年、月、日、時、分、秒)を手動で解析しsubstr()、結果を渡す必要があります。mktime()タイムスタンプが作成されます。

しかし、それは大変な作業です。strftime() が理解できる別の形式を使用することをお勧めします。strftime() は、.以外の日付入力を理解the next time joe will slip on the iceします。たとえば、次のようにします。

$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);   

おすすめ記事