разработайте дату четвертой субботы в текущем месяце

Вам все еще нужно установить интерфейс командной строки AWS внутри док-контейнера.

 # Swap to root user to install pip and aws cli then go back to jenkins user
USER root
RUN apt-get update
RUN apt install python3-pip -y
RUN pip3 install awscli --upgrade
USER jenkins

5
задан Tom 13 February 2009 в 16:36
поделиться

6 ответов

Я не кодер PHP, однако, кажется, что strtotime - то, что Вы после.

Можно использовать strtotime ("четвертая суббота"), и он возвратит 4-ю субботу.

Проверьте strtotime документы.

Править:

Только сделать ответ завершенным, благодаря Tom и Paul Dixon

date('dS F',strtotime('Fourth Saturday '.date('F o'))); 
7
ответ дан 18 December 2019 в 09:10
поделиться

Можно использовать strtotime для нахождения "следующей субботы" на основе срока начала работы. Если тот срок начала работы за день до самого раннего в предыдущий день (21-го), мы получаем ответ...

//required year/month
$yyyymm="2009-01";

//find next saturday after earliest possible date
$t=strtotime("next saturday", strtotime("{$yyyymm}-21"));

//here you go!
echo "4th saturday of $yyyymm is ".strftime("%Y-%m-%d",$t)."\n";

Самое раннее 4-е повторение дня в любом месяце является 22-м (1,8,15,22), последнее 4-е повторение 28-е (7,14,21,28).

Править: Хотя это не ясно в документации, можно запросить, чтобы "четвертая суббота" также - использовала нулевой день месяца как основание:

$t=strtotime("fourth saturday", strtotime("{$yyyymm}-00"));

или опустите базисное время и укажите месяц и год непосредственно:

$t=strtotime("fourth saturday feb 2009");

Подсказка шляпы Robin "я не кодер PHP" День для определения этого :)

7
ответ дан 18 December 2019 в 09:10
поделиться

Ближайший срок в течение четвертой субботы является 22-м из месяца. Так посмотрите на 22-е, посмотрите, каково день недели это, если это не в субботу, добавьте однажды к дате и проверьте снова, пока Вы не находите соответствие (максимум, который необходимо было бы проверить, 6 дней).

3
ответ дан 18 December 2019 в 09:10
поделиться

Найдите первую субботу месяца и затем добавьте три недели к этому.

Если Вы не знаете, когда первая суббота (или, скорее не знайте конкретно дату, соответствующую с дневным именем), Вы могли бы хотеть посмотреть на алгоритм Судного дня, на который я удобно смотрел для другого сообщения с несколько подобной проблемой.

2
ответ дан 18 December 2019 в 09:10
поделиться
function fourth_saturday($year, $month)
{
    $info = localtime(mktime(0, 0, 0, $month , 1, $year));
    return 28 - $info[6];
}
0
ответ дан 18 December 2019 в 09:10
поделиться

в PHP, а не псевдо коде (думают, требует 5.2),

$date = getdate();
$date-> setDate($date->format('Y'), $date->format('Y'), '1');   // 1st of month.  
while ($date->format('w' != 6)
    $date->modify("+1 day");
$date->modify("+21 day"); // date is now on the fourth saturday
-1
ответ дан 18 December 2019 в 09:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: