Удалить временную часть временной метки

Как удалить временную часть временной метки?

Так, например, верните 1310571061 в 1310565600, который является меткой времени простой даты.

Ответы

Ответ 1

strtotime(date("Y-m-d", 1310571061));

Это должно сделать это для вас.

Ответ 2

Если вам нужно математическое решение:

$time=1310571061;
echo floor($time/86400)*86400;

Есть 86,400 секунд в течение 24 часов (это продолжительность типичного дня, но не все... см. DST). Поскольку наши временные метки находятся в UTC, это не должно быть проблемой. Вы можете разделить это на количество секунд в день, отбросить остаток и размножаться.

Ответ 3

Использование объекта 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 будут иметь большое значение для уменьшения путаницы и ошибок, которые могут возникать особенно в отношении проблем часового пояса и летнего времени вопросы.

Ответ 4

Try:

<?php
$ts = '1310571061';

echo strtotime(date('Y-m-d 00:00:00', $ts));
?>

Ответ 5

$pubdate='2003-02-19T00:00:00.000-05:00';

   $da = strtotime($pubdate);
   echo $dat = date('Y-m-d', $da);

Ответ таков: "2003-02-19"

Спасибо

Ответ 6

Вы можете сделать:

$date = strotime(date("y/m/d", $timestamp));