Ответ 1
strtotime(date("Y-m-d", 1310571061));
Это должно сделать это для вас.
Как удалить временную часть временной метки?
Так, например, верните 1310571061
в 1310565600
, который является меткой времени простой даты.
strtotime(date("Y-m-d", 1310571061));
Это должно сделать это для вас.
Если вам нужно математическое решение:
$time=1310571061;
echo floor($time/86400)*86400;
Есть 86,400 секунд в течение 24 часов (это продолжительность типичного дня, но не все... см. DST). Поскольку наши временные метки находятся в UTC, это не должно быть проблемой. Вы можете разделить это на количество секунд в день, отбросить остаток и размножаться.
Использование объекта DateTime может быть полезным, а также может сделать код более читаемым...
$dt = new DateTime();
$dt->setTimestamp(1310571061);
echo $dt->format('Y-m-d, H:i:s') . "\r\n";
$dt->setTime(0, 0, 0);
echo $dt->format('Y-m-d, H:i:s');
Результат...
2011-07-14, 03:31:01
2011-07-14, 00:00:00
Выбор того, использовать ли устаревшие временные метки или объекты DateTime, будет зависеть от потребностей реализации, но, как правило, объекты DateTime будут иметь большое значение для уменьшения путаницы и ошибок, которые могут возникать особенно в отношении проблем часового пояса и летнего времени вопросы.
Try:
<?php
$ts = '1310571061';
echo strtotime(date('Y-m-d 00:00:00', $ts));
?>
$pubdate='2003-02-19T00:00:00.000-05:00';
$da = strtotime($pubdate);
echo $dat = date('Y-m-d', $da);
Ответ таков: "2003-02-19"
Спасибо
Вы можете сделать:
$date = strotime(date("y/m/d", $timestamp));