微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我正在尝试使用 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

原文地址:https://www.jb51.cc/php/138080.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐