PHP日期格式,删除时间和更多

26

可能重复:
在PHP中将一个日期格式转换为另一个日期格式


开始于:

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

我想要做两件事情。

  1. 从字符串中删除时间,使其变为"2012-09-09"
  2. 使用服务器当前日期/时间/时区计算自该日期以来已经过去了多少年、天数和小时数。

有人可以帮我解决这个问题吗?


你的第二个问题是一个重复的问题,可以参考这个链接:如何使用PHP计算两个日期之间的差异? - Justin
2个回答

52

使用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)
} */

26

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接