Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Определить вчера
 
 автор: Peeter   (12.09.2010 в 17:04)   письмо автору
 
 

Доброго времени суток.
Как из секунд узнать вчерашний это день или нет?
Секунды получены из time() и записаны в базу, необходимо выбрать все записи, которые были за вчера.

  Ответить  
 
 автор: Peeter   (12.09.2010 в 17:24)   письмо автору
 
   для: Peeter   (12.09.2010 в 17:04)
 

Вот код, который выводит секунды за 24 часа назад.
Как определить секунды начала вчерашней даты (например 11.09.2010 00:00:00)?

<?php
echo strtotime("-1 day");
?>

  Ответить  
 
 автор: Trianon   (12.09.2010 в 17:30)   письмо автору
 
   для: Peeter   (12.09.2010 в 17:24)
 

у strtotime 2 параметра
воспользуйтесь этим.

  Ответить  
 
 автор: Peeter   (12.09.2010 в 17:34)   письмо автору
 
   для: Trianon   (12.09.2010 в 17:30)
 

Не могу понять какой второй параметр необходимо передавать

  Ответить  
 
 автор: Trianon   (12.09.2010 в 17:37)   письмо автору
 
   для: Peeter   (12.09.2010 в 17:34)
 

Базу, от которой отсчитывать сутки назад.

  Ответить  
 
 автор: Peeter   (12.09.2010 в 17:42)   письмо автору
 
   для: Trianon   (12.09.2010 в 17:37)
 

А такой вариант подойдет?
<?php
echo mktime(000date("m"strtotime("-1 day")), date("d"strtotime("-1 day")), date("Y"strtotime("-1 day")));
?>

  Ответить  
 
 автор: sim5   (12.09.2010 в 17:46)   письмо автору
 
   для: Peeter   (12.09.2010 в 17:42)
 

Зачем? Либо так:
<? echo date("d"strtotime("previous day 11.09.2010 00:00:00"));
либо так:
<? echo date("d"strtotime("11.09.2010 00:00:00 -1 day"));

  Ответить  
 
 автор: Peeter   (12.09.2010 в 17:47)   письмо автору
 
   для: sim5   (12.09.2010 в 17:46)
 

Ну а как тогда определить вчерашний день, месяц, год?

  Ответить  
 
 автор: sim5   (12.09.2010 в 17:59)   письмо автору
 
   для: Peeter   (12.09.2010 в 17:47)
 

Вчерашний, милейший, это минус день от текущаего, а вы спрашиваете о некой дате за минусом 1 день. Разницу чувствуете?
Как узнать вышесказанное? Зайти на сайт РНР, и прочитать в руководстве о функции strtotime и формате времени. Там очень много полезного узнаете, что и позволит вам находит необходимое.

  Ответить  
 
 автор: Peeter   (12.09.2010 в 18:22)   письмо автору
 
   для: sim5   (12.09.2010 в 17:59)
 

спасибо, но ваш вариант не подходит. будут проблемы, когда будет начинаться следующий месяц. я пожалуй своей функцией воспользуюсь.

  Ответить  
 
 автор: sim5   (12.09.2010 в 18:43)   письмо автору
 
   для: Peeter   (12.09.2010 в 18:22)
 

Какие такие проблемы? Вы почитайте лучше вышеуказанное.

  Ответить  
 
 автор: chexov   (13.09.2010 в 03:17)   письмо автору
 
   для: Peeter   (12.09.2010 в 18:22)
 

о каких проблемах вы говорите? у вас ведь секунды записаны в базу, извлекайте данные из базы и вставляйте

$ДНИ = date ('d', ЗАПИСЬ В БАЗЕ);

аналогично: $МЕСЯЦЫ, $ГОДЫ, $ЧАСЫ, $МИНУТЫ, $СЕКУНДЫ

<? echo date("d"strtotime("$ДНИ.$МЕСЯЦЫ.$ГОДЫ $ЧАСЫ:$МИНУТЫ:$СЕКУНДЫ -1 day"));

  Ответить  
 
 автор: Trianon   (13.09.2010 в 11:45)   письмо автору
 
   для: chexov   (13.09.2010 в 03:17)
 

> у вас ведь секунды записаны в базу,

Кто Вам это сказал?

  Ответить  
 
 автор: chexov   (20.09.2010 в 04:06)   письмо автору
 
   для: Trianon   (13.09.2010 в 11:45)
 

топикстартер и сказал: >>>Секунды получены из time() и записаны в базу, необходимо выбрать все записи, которые были за вчера.

  Ответить  
 
 автор: Trianon   (20.09.2010 в 07:11)   письмо автору
 
   для: chexov   (20.09.2010 в 04:06)
 

действительно.
Touche :)

  Ответить  
 
 автор: Trianon   (12.09.2010 в 23:17)   письмо автору
 
   для: Peeter   (12.09.2010 в 17:42)
 

наоборот было бы проще и быстрее.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования