get_weekstartend( string $mysqlstring, int|string $start_of_week = '' )
Get the week start and end from the datetime or date string from MySQL.
Parameters
- $mysqlstring
-
(Required) Date or datetime field type from MySQL.
- $start_of_week
-
(Optional) Start of the week as an integer.
Default value: ''
Return
(array) Keys are 'start' and 'end'.
Source
File: wp-includes/functions.php
function get_weekstartend( $mysqlstring, $start_of_week = '' ) {
// MySQL string year.
$my = substr( $mysqlstring, 0, 4 );
// MySQL string month.
$mm = substr( $mysqlstring, 8, 2 );
// MySQL string day.
$md = substr( $mysqlstring, 5, 2 );
// The timestamp for MySQL string day.
$day = mktime( 0, 0, 0, $md, $mm, $my );
// The day of the week from the timestamp.
$weekday = date( 'w', $day );
if ( !is_numeric($start_of_week) )
$start_of_week = get_option( 'start_of_week' );
if ( $weekday < $start_of_week )
$weekday += 7;
// The most recent week start day on or before $day.
$start = $day - DAY_IN_SECONDS * ( $weekday - $start_of_week );
// $start + 1 week - 1 second.
$end = $start + WEEK_IN_SECONDS - 1;
return compact( 'start', 'end' );
}
Changelog
Version | Description |
---|---|
WP-0.71 | Introduced. |