加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何使用PHP列出一年中的所有日期?

发布时间:2020-12-13 13:37:39 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试使用 PHP创建一个脚本,搜索从现在到一年的所有日期,并列出周五和周六的所有日期.我试图使用PHP的date()和mktime()函数,但无法想到这样做的方法.可能吗? 谢谢, 本 以下是如何以一种很酷的方式做到这一点,特别感谢strtotime的 relative formats. $f
我正在尝试使用 PHP创建一个脚本,搜索从现在到一年的所有日期,并列出周五和周六的所有日期.我试图使用PHP的date()和mktime()函数,但无法想到这样做的方法.可能吗?

谢谢,

以下是如何以一种很酷的方式做到这一点,特别感谢strtotime的 relative formats.
$friday = strtotime('Next Friday',time());
$saturday = strtotime('Next Saturday',time());
$friday = strtotime('+1 Week',$friday);
$saturday = strtotime('+1 Week',$saturday);

当然你应该调整它以完全按照自己的意愿行事,但这与我试图做的不同.

另请注意,strtotime会为您提供时间戳.要找出使用日期:

date('Y-m-d',$friday)

另一件需要知道的是Next< dayofweek>将您的当前日期从搜索中排除,因此如果您还想要包含当天,您可以这样做:

$friday = strtotime('Next Friday',strtotime('-1 Day',time()));

这是一个完整的工作脚本,完全符合您的要求.

<?php
// prevent multiple calls by retrieving time once //
$now = time();
$aYearLater = strtotime('+1 Year',$now);

// fill this with dates //
$allDates = Array();

// init with next friday and saturday //
$friday = strtotime('Next Friday',$now));
$saturday = strtotime('Next Saturday',$now));

// keep adding days untill a year has passed //
while(1){
    if($friday > $aYearLater)
        break 1;
    $allDates[] = date('Y-m-d',$friday);
    if($saturday > $aYearLater)
        break 1;
    $allDates[] = date('Y-m-d',$saturday);

    $friday = strtotime('+1 Week',$friday);
    $saturday = strtotime('+1 Week',$saturday);
}

//XXX: debug
var_dump($allDates);

?>

祝你好运,Alin

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读