start of week php datetime code example

Example 1: php week of a date

Things to be aware of when using week numbers with years.

<?php
echo date("YW", strtotime("2011-01-07")); // gives 201101
echo date("YW", strtotime("2011-12-31")); // gives 201152
echo date("YW", strtotime("2011-01-01")); // gives 201152 too
?>

BUT

<?php
echo date("oW", strtotime("2011-01-07")); // gives 201101
echo date("oW", strtotime("2011-12-31")); // gives 201152
echo date("oW", strtotime("2011-01-01")); // gives 201052 (Year is different than previous example)
?>

Reason:
Y is year from the date
o is ISO-8601 year number
W is ISO-8601 week number of year

Conclusion:
if using 'W' for the week number use 'o' for the year.

Example 2: week starting date and end date in php

<?php$week=29;$year=2017;function getStartAndEndDate($week, $year) {  $dateTime = new DateTime();  $dateTime->setISODate($year, $week);  $result['start_date'] = $dateTime->format('d-M-Y');  $dateTime->modify('+6 days');  $result['end_date'] = $dateTime->format('d-M-Y');  return $result;}$dates=getStartAndEndDate($week,$year);print_r($dates);?>

Tags:

Php Example