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

Форум PHP

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

 

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

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

тема: Дата последнего понедельника.
 
 автор: pengo   (16.08.2006 в 11:30)   письмо автору
 
 

Ребята, подскажите алгоритм определения даты последнего понедельника (или другого дня недели). Например последний понедельник был 14 августа, как вычислять?

   
 
 автор: Trianon   (16.08.2006 в 11:59)   письмо автору
 
   для: pengo   (16.08.2006 в 11:30)
 

Если очень грубо, то так:
<form><input name=wday value=1><input type=submit Value=day_of_week></form> last
<?php
  $wd 
= @intval($_REQUEST['wday']); //требуемый день недели
  
$cwd date('w'$tm time());  // текущий день недели
  
$prev = (14+$cwd-$wd) %7;  // сколько дней отступить
  
echo date('D d-M-Y'$tm 86400*$prev); // требуемая дата
?>

   
 
 автор: pengo   (16.08.2006 в 14:24)   письмо автору
 
   для: Trianon   (16.08.2006 в 11:59)
 

а что даёт выражение

$tm - 86400*$prev

и почему используется число 86400?

   
 
 автор: elenaki   (16.08.2006 в 14:49)   письмо автору
 
   для: pengo   (16.08.2006 в 14:24)
 

это количество секунд в сутках 86400= 60*60*24

   
 
 автор: pengo   (16.08.2006 в 14:54)   письмо автору
 
   для: elenaki   (16.08.2006 в 14:49)
 

уже немного проясняется : )

   
Rambler's Top100
вверх

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