如果各位有了解过之前发布过的这一系列文章,相信大家对日期时间的掌握都很熟练了。

那么针对“如何编写一个PHP函数来获取特定年份的一周的开始和结束日期(按周数)”这个具体问题,大家可以迅速想出实现方法吗?

下面是我提供的一种实现方法,大家可以参考一下:

PHP代码如下:

<?php

function Start_End_Date_of_a_week($week, $year)
{
    $time = strtotime("1 January $year", time());
    $day = date('w', $time);
    $time += ((7*$week)+1-$day)*24*3600;
    $dates[0] = date('Y-n-j', $time);
    $time += 6*24*3600;
    $dates[1] = date('Y-n-j', $time);
    return $dates;
}

$result = Start_End_Date_of_a_week(12,2020);
echo '本周开始日期: '. $result[0]."<br>";
echo '本周结束日期: '. $result[1];

输出结果是:

PHP日期时间运用九:获取某年某周的开始和结束日期

这里我们给出的参数分别是年份(2020),周数(12周),最后计算的日期结果分别是2020-3-23、2020-3-29。

strtotime函数:将任何英文文本的日期或时间描述解析为 Unix 时间戳;

time函数:返回自 Unix 纪元(January 1 1970 00:00:00 GMT)起的当前时间的秒数;

date函数:格式化本地日期和时间,并返回已格式化的日期字符串;

本示例“date('w', $time);”中参数w表示星期几的数字(0 表示 Sunday[星期日],6 表示 Saturday[星期六])。

date('Y-n-j', $time);”中参数Y表示年份的四位数;n表示月份的数字,不带前导零(1 到 12);j表示一个月中的第几天,不带前导零(1 到 31)。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。