Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Узнать начало текущей недели 
:(
    Опции темы
Dronakasmart
  Дата 17.6.2010, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 13.11.2008

Репутация: нет
Всего: нет



Всем доброго времени суток!

Мне нужно в скрипте ( вывод лучшей фотографии за неделю ) получить начало текущей недели,а именно число понедельника в этой неделе.Как можно это сделать?Пока я пришел к варианту использовать Cron который запускает скрипт в понедельник каждой недели,который обновляет начало недели в базе данных,но этот вариант довольно неудобен.Скажите как это можно сделать из кода.

Спасибо
PM MAIL WWW ICQ   Вверх
bars80080
Дата 17.6.2010, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



здесь есть множество параметров для определения характеристик даты 
http://www.php.ru/manual/function.date.html
определить текущий день недели, а затем вычесть и получить понедельник не составит труда


либо поможет более простой метод http://www.php.ru/manual/function.strtotime.html
непосредственно заточенный под эту задачу
PM MAIL WWW   Вверх
Dronakasmart
  Дата 17.6.2010, 23:50 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 13.11.2008

Репутация: нет
Всего: нет



Спасибо!Но так вышло, что сразу после того как создал тему придумал общую концепцию функции и сделал её  smile В общем вот,пользуйтесь кто нуждается:
Код

    // Получить понедельник (начало) текущей недели
    function getWeekMonday()
    {
         $weekday = strftime("%w");
         if($weekday == 1)
         return mktime(0,0,0,date("m"),date("d"),date("Y")); // Если понедельник то вернем понедельник :D
         
         if($weekday == 0)
         $weekday = 7; // Сдесь воскресение - 0,если так и будет то работа функции собьется
         
         $mday = strftime("%d");
         return mktime(0,0,0,date("m"),$mday - ($weekday - 1),date("Y")); // Получаем штамп
    }

От штампа идем дальше,например так
Код

$stamp = getWeekMonday();
echo date("Y-m-d",$stamp); // Выведет год-месяц-день понедельника текущей недели


Это сообщение отредактировал(а) Dronakasmart - 17.6.2010, 23:55
PM MAIL WWW ICQ   Вверх
NLspieler
Дата 18.6.2010, 00:17 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



Простой арифметический метод узнавания понедельника из текущема таймштампа

Код

function getWeekMonday()
{
    $time = time () ;
    return  $time - ($time - 345600 ) % 604800 ;
}

$stamp = getWeekMonday();
echo date("Y-m-d",$stamp);


Это сообщение отредактировал(а) NLspieler - 18.6.2010, 00:28
PM MAIL   Вверх
Fortop
Дата 18.6.2010, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Dronakasmart
NLspieler
а ссылку на мануал по strtotime, что дал bars80080, никто из вас не желает прочитать?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0868 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.