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

今天我们将继续介绍PHP日期时间运用系列文章,那么在《PHP日期时间运用大汇总(持续更新~)文章中也会及时更新,感兴趣的朋友可以收藏起来学习呀~

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

那么针对“如何编写一个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];

输出结果是:

61659c55961d86adf651869d194888e.png

这里我们给出的参数分别是年份(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)。

最后给大家推荐最新最全面的《PHP教程》~快来学习吧!

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...