25

重複の可能性:
PHPで1つの日付形式を別の日付形式に変換する

から始まる:

$date = '2012-09-09 03:09:00'

私は2つのことをしたいと思います。

  1. 文字列から時間を削除すると、になり"2012-09-09"ます。
  2. サーバーの現在の日付/時刻/タイムゾーンを使用して、この日付から何年、日、および時間が経過したかを計算します。

誰かが私がこれを理解するのを手伝ってもらえますか?

4

2 に答える 2

51

DateTimeを使用します:

$date = '2012-09-09 03:09:00';

$createDate = new DateTime($date);

$strip = $createDate->format('Y-m-d');
var_dump($strip); // string(10) "2012-09-09"

$now = new DateTime();
$difference = $now->diff($createDate, true);
var_dump($difference);

/* object(DateInterval)#3 (8) {
  ["y"]=>
  int(0)
  ["m"]=>
  int(0)
  ["d"]=>
  int(7)
  ["h"]=>
  int(13)
  ["i"]=>
  int(4)
  ["s"]=>
  int(38)
  ["invert"]=>
  int(0)
  ["days"]=>
  int(7)
} */
于 2012-09-16T13:14:11.653 に答える
23
$date = '2012-09-09 03:09:00';
$dt = new DateTime($date);

echo $dt->format('Y-m-d');

$interval = $dt->diff(new DateTime());

必要に応じて間隔を使用できます。http://php.net/manual/en/class.dateinterval.phpを参照してください

于 2012-09-16T13:13:02.863 に答える