Получить дату следующего ближайшего рабочего дня с сегодняшнего дня

Мне нужно получить дату следующего ближайшего рабочего дня с сегодняшнего дня. (Например: я дам три случайных рабочих дня, таких как воскресенье, понедельник, суббота. Из этого списка мне нужно получить следующий ближайший рабочий день с сегодняшнего дня (четверг) выход должен быть в субботу. Вот после того, как я хочу получить дату наступающей субботы.


person Gugan Abu    schedule 24.12.2015    source источник
comment
Вы пробовали что-нибудь?   -  person takendarkk    schedule 24.12.2015
comment
Подсказка: java.time.LocalDate.now( ZoneId.of( "America/Montreal" ) ).with( org.threeten.extra.Temporals.nextWorkingDay() )   -  person Basil Bourque    schedule 15.03.2018


Ответы (3)


Не могу четко понять ваш вопрос. Я предлагаю решение, основанное на моем понимании... Вы должны создать хеш, который сопоставляет день недели с числом, например:

{
    Sun => 0,
    Mon => 1,
    ...
    Sat => 6
}

Затем получите абсолютное значение MIN текущего дня со списком ваших случайных дней недели.

person hienvd    schedule 24.12.2015

Попробуйте эту функцию:

echo nearestWeekend( '26-12-2015' );

function nearestWeekend( $date ){
    $date = date('d-m-Y', strtotime($date . '+1 day'));
    while( !preg_match('/Sunday|Saturday/i' , date('l', strtotime($date)) ) ){
        $date = date('d-m-Y', strtotime($date . '+1 day'));
    }
    return date('d-m-Y', strtotime($date));
}
person Vegeta    schedule 24.12.2015

person    schedule
comment
Сутки не всегда длятся 24 часа. - person Basil Bourque; 15.03.2018