|
|
|
| Всем привет, такая проблема, как можно узнать дату средствами ПХП которая была вчера? То есть к примеру скрипт исполняетя 01.05.2007 а данные которые он вернет нужны за предыдущий день, но в прошлом месяце могло быть 30 или 31 дней. Как можно с точностью узнать такую дату? Подскажите пожалуйста! | |
|
|
|
|
|
|
|
для: foboss26
(29.04.2007 в 17:33)
| | Для этого можно воспользоваться следующей конструкцией
<?php
$time = mktime(0, 0, 0, date("m"), date("d") - 1, date("Y"));
echo date("d.m.Y", $time);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(29.04.2007 в 17:40)
| | а так: date ('d.m.Y', time()-86400) | |
|
|
|
|
|
|
|
для: bronenos
(29.04.2007 в 17:50)
| | Так пожалуй даже получше будет - если имеется возможность исключить функцию mktime() - следует исключать - хуже интерфейса придумать сложно. | |
|
|
|
|
|
|
|
для: cheops
(29.04.2007 в 17:56)
| | Способ конечно краток, но обладает тем недостатком, что может выдать как сегодняшнюю так и позавчерашнюю дату, поскольку есть пара дней, в которых не 24 часа. Для корректного расчета без mktime не обойтись. | |
|
|
|
|
|
|
|
для: Trianon
(30.04.2007 в 12:28)
| | Ну в общем да, при переводе часов это может привести к сбоям, особенно, если дата используется для вычислений... Однако если дата требуется лишь для отображения, а не для расчётов, то пару часов год можно потерпеть. | |
|
|
|
|
|
|
|
для: bronenos
(29.04.2007 в 17:50)
| | Спасибо за совет!!!! | |
|
|
|
|
|
|
|
для: foboss26
(29.04.2007 в 17:33)
| |
<?
$stamp = strtotime("now -1 day");
print date("d.m.Y", $stamp);
|
| |
|
|
|