powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / прибавить 7 дней к дате
9 сообщений из 9, страница 1 из 1
прибавить 7 дней к дате
    #39481733
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
$_SESSION["curDate"]=date("Ymd",strtotime($_SESSION["curDate"]. '+7 days'));



нет более простого способа?
...
Рейтинг: 0 / 0
прибавить 7 дней к дате
    #39481985
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
3.
$date = new DateTime();
$date->modify('+7 day');
print $date->format('Y-m-d H:i:s');
...
Рейтинг: 0 / 0
прибавить 7 дней к дате
    #39482003
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поставлю вопрос по другому
Код: php
1.
if(empty($_SESSION["curDate"])): $_SESSION['curDate']=date('Ymd'); endif;


вот что есть.
цель - хранить текущую дату в сессии и прибавлять/отнимать 7 дней (для отображения всех дней недели, в которой текущая дата ($_SESSION["curDate"] живет)
$_SESSION["curDate"] - строка (в соседнем топике спрашивал, кстати и за форматирование).
Может подход в корне неверный?
...
Рейтинг: 0 / 0
прибавить 7 дней к дате
    #39482026
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczцель - хранить текущую дату в сессии и прибавлять/отнимать 7 дней (для отображения всех дней недели, в которой текущая дата ($_SESSION["curDate"] живет)Это больше похоже на Ваш вариант решения какой-то неведомой нам задачи. Потому оценить правильность подхода к решению задачи вряд ли возможно. В частности, сессия может иметь какое-то стандартное время жизни менее получаса, тогда не вижу огромного смысла хранить там дату. Если сессия живет дни или месяцы, да привязана к конкретному пользователю (на уровне ID пользователя) - тогда другое дело.

Хранение данных в сессии - задача сама по себе тривиальная. Вычислить +/- 7 дней от текущей - тоже ничего сложного.
Вот получить список дат по дням недели, включающей текущую дату - это уже чуточку интереснее.
...
Рейтинг: 0 / 0
прибавить 7 дней к дате
    #39482036
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vklewaszkiewiczцель - хранить текущую дату в сессии и прибавлять/отнимать 7 дней (для отображения всех дней недели, в которой текущая дата ($_SESSION["curDate"] живет)Это больше похоже на Ваш вариант решения какой-то неведомой нам задачи. Потому оценить правильность подхода к решению задачи вряд ли возможно. В частности, сессия может иметь какое-то стандартное время жизни менее получаса, тогда не вижу огромного смысла хранить там дату. Если сессия живет дни или месяцы, да привязана к конкретному пользователю (на уровне ID пользователя) - тогда другое дело.

Хранение данных в сессии - задача сама по себе тривиальная. Вычислить +/- 7 дней от текущей - тоже ничего сложного.
Вот получить список дат по дням недели, включающей текущую дату - это уже чуточку интереснее.
да простая задача - показать юзеру его расписание, в разрезе дней недели. Неделя отталкивается от даты, когда юзер влетел в свое расписание. Далее, оный (юзер) жмет кнопки "вперед"/"вназад" мечтая смотреть след/пред недели. Получить список дат, входящих в неделю - вот тут совсем не вижу траблов. От слова "совсем". Да и "код" представленный мной - рабочий. Я в php совсем зеленый.
...
Рейтинг: 0 / 0
прибавить 7 дней к дате
    #39482038
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
примерно вот так
...
Рейтинг: 0 / 0
прибавить 7 дней к дате
    #39482100
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так вполне понятно.

Мне видится такое решение.
1. Получить понедельник текущей недели, если текущая дата не является понедельником. Это можно сделать тупым отлистыванием по одному дню назад.
2. Понедельник уже есть. Плюсуем шесть раз по одному дню и получаем полный список дат для отображения текущей недели.
3. Прибавить ещё день и получить дату для ссылки на следующую неделю.
4. Сминусовать 14 дней и получить дату для ссылки на предыдущую неделю.
5. По полученным данным сформировать ссылки и человекопонятные даты.

Обычно для таких вещей использую DateTime и DateInterval.
DateTime при инициализации вполне понимает формат вида "2017-07-03", это число можно взять из запроса.

Использование сессии представляется мне лишним. Хотя, если хочется хранить временные точки в сессии - так почему нет...
...
Рейтинг: 0 / 0
прибавить 7 дней к дате
    #39482135
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,
о боги, шо Вы такое несете?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public function getWeek($date) {
    $this->setLocale('ru_RU');    
    $this->sth="select date_format(dt,'%d %b %Y') dt
                from calendar c
                where 1=1
                and c.dt between date_add(:date, INTERVAL 0-WEEKDAY(:date)  DAY)
                and date_add(:date, INTERVAL  6-WEEKDAY(:date) DAY)";
                
    $this->params=array('date'=>$date);
    return $this->execute();
}



calendar - таблица дат, живущая в базе.

скрин - это уже результат. Я спрашивал за правильность решения в принципе, причем только в плане PHP
...
Рейтинг: 0 / 0
прибавить 7 дней к дате
    #39482156
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewicz, тогда вообще не вижу смысла распылять вычисление пакета дат по разным местам.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / прибавить 7 дней к дате
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]