За последние 24 часа нас посетили 20689 программистов и 1113 роботов. Сейчас ищут 557 программистов ...

Дата понедельника относительно любого дня любой недели.

Тема в разделе "PHP для новичков", создана пользователем Miroslav, 2 мар 2020.

Метки:
  1. Miroslav

    Miroslav Новичок

    С нами с:
    2 мар 2020
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте!

    Нужно определеть дату понедельника, имея Unix время опделенного дня недели.
    К примеру: 1584003600 (11:00 12,03,2020 среда) нужно определить дату понедельника текущей недели (сейчас 02.03.2020).
    Может быть как текущая неделя, так і на несклько месяцев вперед/назад.

    Заранее спасибо!
     
  2. Miroslav

    Miroslav Новичок

    С нами с:
    2 мар 2020
    Сообщения:
    3
    Симпатии:
    0
    $nday = date('w', $unix_time);
    if ($nday == 0){ $min = 6; }
    else { $min = $nday - 1; }
    $swee = date('Ymd', strtotime('-'.$min.' day', $unix_time));
     
  3. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @Miroslav, или так:
    PHP:
    1. $ut = 1584003600;
    2. $dt = DateTime::createFromFormat('U', $ut);
    3. echo 'Date: '.$dt->format('Y-m-d');
    4. $dt->modify('monday this week');
    5. echo '; Monday: '.$dt->format('Y-m-d');
     
    romach нравится это.
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
  5. Miroslav

    Miroslav Новичок

    С нами с:
    2 мар 2020
    Сообщения:
    3
    Симпатии:
    0
    это топчик!
    большое спасибо!
    date('d.m.Y', strtotime("monday this week", $unix_time_on_this_week));
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
    Для спасибо есть кнопка с пальцем вверх ;)