这里有一个简单的代码日期到一年week_number和现在。我怎样才能获得start_date和end_date week_number
$date_string = "2012-12-30";
echo "Weeknummer: " . date("W", strtotime($date_string));
有很多方法可以做到这一点,这里有一种。
我使用日期的"N"来确定所选日期是哪一天,并使用 strtotimes 理解简单文本的方式来查找上一个或下一个星期一/星期日。
$date_string = "2018-01-27";
$w =date("W", strtotime($date_string));
$N =date("N", strtotime($date_string));
If($N == 1){ // if monday
$monday = $date_string;
$sunday = date("Y-m-d", strtotime("next Sunday $date_string"));
}Elseif($N ==7){ // if sunday
$monday = date("Y-m-d", strtotime("previous Monday $date_string"));
$sunday = $date_string;
}Else{// any other weekday
$monday = date("Y-m-d", strtotime("previous Monday $date_string"));
$sunday = date("Y-m-d", strtotime("next Sunday $date_string"));
}
echo "Weeknummer: $w.nMonday: $monday.nSunday: $sunday.";
输出:
周数:52。
星期一: 2012-12-24.
星期日: 2012-12-30.
https://3v4l.org/UDoqF
你可以使用这个:
<?php
$date_string = "2012-12-30";
$weekNumber = date("W", strtotime($date_string));
echo "Weeknummer: ".$weekNumber;
echo '</br>';
// get the year
$year = date("Y", strtotime($date_string));
// set the date string for the week number
$dateWeek = $year.'-W'.$weekNumber;
// increase the weekNumber to the next
$weekNumber = intval($weekNumber);
$weekNumber += 1;
// if it is lower than 10 add preceeding 0
if($weekNumber < 10) $weekNumber = '0'.$weekNumber;
// set the date string for the next week number
$dateWeekNext = $year.'-W'.$weekNumber;
echo '</br>';
// get the first day of the week
echo date('Y-m-d', strtotime($dateWeek));
echo '</br>';
// get the day before the first day of the next week
echo date('Y-m-d', strtotime($dateWeekNext . ' -1 day'));
?>
这输出:
Weeknummer: 52
2012-12-24
2012-12-30