Функциональность календаря

  • Автор темы united1
  • 26
  • Обновлено
  • 17, May 2024
  • #1
Привет помошник, У меня проблема с определением правильного месяца, когда я нахожусь на последней неделе месяца.

пожалуйста, посмотрите мое вложение.

вот мой код:

$date = isset($_POST['dd'])? date("Г-м-д",strtotime($_POST['dd'])) : date("Г-м-д");

// эхо $_POST['dd'];

//echo date("Г-м-д",strtotime($_POST['dd']));

// синтаксический анализ любого текстового описания даты и времени на английском языке в временную метку Unix

$ts = strtotime($date);

// подсчитываем количество дней с понедельника

$dow = дата('w', $ts);

$offset = $dow - 1;

если ($offset <0) { $смещение = 6; } // вычисляем временную метку понедельника $ts = $ts - $offset*86400; for ($i = 0; $i < 7; $i++, $ts += 86400){ //Мой код здесь... }

united1


Рег
18 Jul, 2012

Тем
1

Постов
3

Баллов
13
  • 05, Jun 2024
  • #2
Я думаю, мне нужно объяснить дальше, чтобы было более понятно.

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

1. В календаре слева есть список пользователей.

2. У каждого пользователя есть список дней недели, выбранных из средства выбора даты.

3. Дисплей в порядке.

единственная проблема в том, что дата 27-30 ноября правильная, а 1, 2 и 3 должны быть уже декабрьскими. но когда я заглядываю в исходный код, он показывает, что 1,2 и 3 — это все еще ноябрь.

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

4. Как вы можете видеть в исходном коде, когда я выбираю 3, он сообщает мне, что сейчас 3 ноября, а должно быть 3 декабря.

исходный код:
 

simonn86


Рег
26 Nov, 2014

Тем
1

Постов
2

Баллов
12
  • 05, Jun 2024
  • #3
Понятия не имею, как вы сгенерировали код для самого отображения календаря, но каждый элемент должен иметь полную дату внутри. Если вы просмотрите пример типа http://www.php-calendar.org/php-calendar/

каждый элемент даты имеет ГГГГ-ММ-ДД, инкапсулированный внутри себя, поэтому вам не придется беспокоиться о переполнении, как вы это делали
 

Nikolay4


Рег
06 Dec, 2012

Тем
1

Постов
2

Баллов
12
Тем
49554
Комментарии
57426
Опыт
552966

Интересно