get_weekstartend()
最后更新于:2021-11-27 04:08:29
get_weekstartend( string$mysqlstring, int|string$start_of_week=”)Get the week start and end from the datetime or date string from MySQL.
参数
- $mysqlstring
-
(string) (Required) Date or datetime field type from MySQL.
- $start_of_week
-
(int|string) (Optional) Start of the week as an integer.
Default value: ”
响应
(array) Keys are ‘start’ and ‘end’.
源文件
文件: gc-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 = gmdate( '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' );
}