从MySQL的日期时间或日期字符串获取周开始和结束。

原型

get_weekstartend( string $mysqlstring, int|string $start_of_week = '' )

参数

$mysqlstring (string) (Required) 来自MySQL的日期或日期时间字段类型。

$start_of_week (int|string) (Optional)  作为整数的一周开始。

返回值

(array)  键是’开始’和’结束’。

源文件

路径:wp-includes/functions.php

<?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' );
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/get_weekstartend/