Получить эти выходные в php? - PullRequest
3 голосов
/ 22 ноября 2010

Я пытаюсь получить эти выходные в php.

Я получаю текущую дату по коду:

$start_date = date("Y-m-d H:i:s", time());

Как узнать текущие выходные в зависимости от текущей даты?Спасибо!

Ответы [ 6 ]

16 голосов
/ 22 ноября 2010

PHP strtotime - волшебная функция, большинство людей не знают, но с этой функцией можно многое сделать.

$start_date = date("Y-m-d H:i:s", strtotime('next Saturday'));
4 голосов
/ 22 ноября 2010

Использование strtotime()

$sat = strtotime('saturday');
1 голос
/ 22 ноября 2010
$start_date = date("Y-m-d H:i:s", strtotime('Saturday'));
0 голосов
/ 08 февраля 2017

Расчет первых выходных

if(date('w')==6){// Today is Saturday | Bugün Cumartesi ise
  $wknd=date("Y-md-").'-'.date("Y-m-d", strtotime('next Sunday'));
}if(date('w')==0){// Today is Sunday | Bugün Pazar ise
  $wknd=date("Y-m-d");
}else{ // On weekdays | Hafta içi ise
 $wknd=date("Y-m-d", strtotime('next Saturday')).'-'.date("Ymd", strtotime('next Sunday'));
}
echo $wknd; 
0 голосов
/ 22 ноября 2010

Мое определение «выходных» - следующая пятница, с конца рабочего дня до конца воскресенья.В PHP это будет

$weekend = new DatePeriod(
    new DateTime('next Friday 18:00'),
    DateInterval::createFromDateString('+1 hour'),
    new DateTime('next Friday +2 day 23:59'));

foreach($weekend as $hours) {
    echo $hours->format( "l Y-m-d H:i:s\n" );
}
0 голосов
/ 22 ноября 2010

Попробуйте это:

<?php
$time = mktime();
$found = false;
while(!$found) {
    $d = date('N', $time);
    if($d == 6 || $d == 7) {
        $found = true;
        $weekend = date('d/m/Y G:i:s', $time);
    }
    $time += 86400;
}
echo("Weekend begins on: $weekend");
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...