Я пытаюсь получить эти выходные в php.
Я получаю текущую дату по коду:
$start_date = date("Y-m-d H:i:s", time());
Как узнать текущие выходные в зависимости от текущей даты?Спасибо!
PHP strtotime - волшебная функция, большинство людей не знают, но с этой функцией можно многое сделать.
$start_date = date("Y-m-d H:i:s", strtotime('next Saturday'));
Использование strtotime()
strtotime()
$sat = strtotime('saturday');
$start_date = date("Y-m-d H:i:s", strtotime('Saturday'));
Расчет первых выходных
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;
Мое определение «выходных» - следующая пятница, с конца рабочего дня до конца воскресенья.В 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" ); }
Попробуйте это:
<?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"); ?>