PHP формат даты, удалить время и многое другое
Возможный дубликат:
Преобразовать один формат даты в другой в PHP
Начиная с:
$date = '2012-09-09 03:09:00'
Я хотел бы сделать две вещи.
- Удалите время из строки, поэтому оно станет
"2012-09-09"
.
- Рассчитать, сколько лет, дней и часов прошло с этой даты
используя текущую дату/время/часовой пояс сервера.
Может ли кто-нибудь помочь мне понять это?
Ответы
Ответ 1
Используйте 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)
} */
Ответ 2
$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