PHP: Как добраться в воскресенье и суббота, учитывая вход даты?

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

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

Другой способ использовать продолжение был бы к [1 121], думают о вызовах метода замены с несколькими нитевидными объектами , которые сосуществуют параллельно (или выполнение или приостановленный) передача управления друг другу использующему контексты продолжения вместо 'классика' call парадигма. Они воздействовали бы на глобальные (общие) данные вместо того, чтобы полагаться на параметры. Это в некоторой степени более гибко, чем call в том смысле, что стек не должен заканчиваться тогда вниз (calls, , вложил ), но управление может раздать произвольно.

Попытка визуализировать это понятие на языке такой C, предположите иметь один большой цикл с синглом switch(continuation_point) { case point1: ... } оператор, где каждый case соответствует точке сохранения продолжения, и где код в каждом case может изменить значение continuation_point и оставить управление тому continuation_point break луг от switch и привлечение следующего повторения в цикле.

, Каков контекст Вашего вопроса? Какие-либо конкретные сценарии Вы интересуетесь? Какой-либо конкретный язык программирования? Пример потока/волокна выше достаточного?

6
задан p.campbell 28 September 2009 в 05:14
поделиться

6 ответов

Вы используете strtotime () и date () :

<?php
$s = 'Monday, September 28, 2009';
$time = strtotime($s);
$start = strtotime('last sunday, 12pm', $time);
$end = strtotime('next saturday, 11:59am', $time);
$format = 'l, F j, Y g:i A';
$start_day = date($format, $start);
$end_day = date($format, $end);
header('Content-Type: text/plain');
echo "Input: $s\nOutput: $start_day - $end_day";
?>

выводит:

Input: Monday, September 28, 2009
Output: Sunday, September 27, 2009 12:00 PM - Saturday, October 3, 2009 11:59 AM
16
ответ дан 8 December 2019 в 03:09
поделиться
<?php

date_default_timezone_set('Europe/London');

$datetime = new DateTime("2009-09-23 12:00:00");

// Saturday
$datetime->setISODate(2009, $datetime->format("W"), 6);
print "Saturday:" . $datetime->format(DATE_ATOM) . "\n";
// Sunday
$datetime->setISODate(2009, $datetime->format("W"), 0);
print "Sunday: " . $datetime->format(DATE_ATOM) . "\n";


?>
9
ответ дан 8 December 2019 в 03:09
поделиться

эхо-дата ("Ymd H: i: s", strtotime ("last sunday", time ()));

echo date ("Ymd H: i: s", strtotime ("в следующую субботу", time ()));

1
ответ дан 8 December 2019 в 03:09
поделиться

взгляните на strtotime

т.е.

strtotime('next sunday', strtotime($your_date_string));
3
ответ дан 8 December 2019 в 03:09
поделиться

strtotime

$input = strtotime("Monday, September 28, 2009");
$nextSunday = strtotime("next Sunday",$input);
0
ответ дан 8 December 2019 в 03:09
поделиться
<?php

$date = strtotime('Monday, September 28, 2009 - 1 day');
$initialString =  date('l, F d, Y g:i A', $date);
$end = date('l, F d, Y g:i A', strtotime( 'next saturday 11:59 pm', $date));

echo $initialString . ' - ' . $end; 

вывод: Воскресенье, 27 сентября 2009 г., 12:00 - суббота, 3 октября 2009 г., 23:59

0
ответ дан 8 December 2019 в 03:09
поделиться
Другие вопросы по тегам:

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