首页 > 编程语言 >PHP获取指定日期n天前后的日期列表

PHP获取指定日期n天前后的日期列表

时间:2024-09-21 15:34:32浏览次数:10  
标签:string format 列表 日期 num date PHP data day

/**
 * 获取指定日期n天前后的日期列表
 * @param string $date 日期
 * @param int $day_num 天数
 * @param string $cate 类型
 * @param string $format 格式
 * @return array
 */
function get_date_ab_list(string $date, int $day_num, string $cate = 'b', string $format = 'Y-m-d'): array
{
    //cate b代表before,指定日期往前$day_num天,a代表after,指定日期往后$day_num天
    $timezone = 'PRC';
    $data     = [$date];
    switch ($cate) {
        case 'a':
            if ($day_num > 0) {
                $data = [];
                for ($i = 1; $i < ($day_num + 1); $i++) {
                    $str      = '+' . $i . ' day';
                    $datetime = new \DateTime($date, new \DateTimeZone($timezone));
                    $tmp      = $datetime->modify($str);
                    $data[]   = $tmp->format($format);
                }
            }
            break;
        case 'b':
            if ($day_num > 0) {
                $data = [];
                for ($i = 1; $i < ($day_num + 1); $i++) {
                    $str      = '-' . $i . ' day';
                    $datetime = new \DateTime($date, new \DateTimeZone($timezone));
                    $tmp      = $datetime->modify($str);
                    $data[]   = $tmp->format($format);
                }
            }
            break;
    }
    sort($data);
    return $data;
}

  

标签:string,format,列表,日期,num,date,PHP,data,day
From: https://www.cnblogs.com/shemmor/p/18424089

相关文章

  • PHP美化打印输出并结束程序执行
    话不多说,直接附上代码if(!function_exists('dd')){/***@notes:打印输出*@parammixed$vars*@returnvoid*@author:lavender*@time:2024/7/159:33*/functiondd(...$vars){/*ob_start();var_......
  • 单片机项目合集列表——Excel合集列表目录查阅(持续更新)
    阿齐Archie《单片机项目合集》专栏项目为方便查找本专栏的项目,特整理Excel合集列表供查阅(可搜索或按系列查找)持续更新链接如下:阿齐单片机项目合集(kdocs.cn)https://www.kdocs.cn/l/cmrxCxJN05YN打开链接如下Exce表所示。电脑可按Ctrl+F搜索相关设计名称,手机点击右上角三......
  • PHP抽奖算法
    一、初始化奖品id奖品的idpid奖品的自定义idtype奖品类型,1、虚拟奖品2、实物奖品3、礼包码待扩充name奖品名称total奖品总数chance获奖概率/抽奖基数10000daynum每日数量限制pay充值限制$prize=[['id'=>1,'pid'=>11,'type'=>1,'name'=>'典藏......
  • 【建设方案】固定资产信息系统建设方案(功能清单列表2024word原件)
    固定资产管理系统需求要点:1.实现公司内部固定资产管理全生命周期管理,包括资产采购、资产入库、资产领用、资产借用、资产归还、资产报废、资产维修、资产调拨等全过程管理。2.可实现集团内部固定资产盘点管理,包括盘点计划、盘点查询等,并且固定资产盘点支持二维码盘点。3......
  • Thinkphp8安装topthink/think-captcha验证码的和使用方法
    ThinkPHP8默认没有验证码,安装验证码可以使用composer来安装验证码一、安装验证码执行composer安装验证码composerrequiretopthink/think-captcha二、使用方法1、在目录app\middleware.php中开启session\think\middleware\SessionInit::class2、配置验证码安装好验证......
  • 您在wp-config.php文件中提供的数据库用户名和密码可能不正确 的解决办法
    设置步骤复制配置文件在你的 htdocs 中的WordPress根目录下找到 wp-config-sample.php 文件。将 wp-config-sample.php 文件复制并重命名为 wp-config.php。编辑 wp-config.php 文件使用Notepad++或其他文本编辑器打开 wp-config.php 文件。修改以下......
  • 数据库连接错误:您在wp-config.php文件中提供的数据库用户名和密码可能不正确,或者无法
    为了解决“数据库连接错误”的问题,可以按照以下步骤进行操作:备份现有配置:在修改任何文件之前,请确保备份现有的wp-config.php文件,以防修改出错时能够恢复。重命名配置文件:将根目录下的wp-config-sample.php文件重命名为wp-config.php。这通常可以通过FTP客户端或通过服务器上......
  • 帝国CMS升级PHP版本为7.*空白问题_php7 页面空白
    当帝国CMS从较低版本的PHP升级到PHP7.x之后出现页面空白的问题,这通常是由于帝国CMS的代码与新的PHP版本不兼容导致的。以下是一些解决此类问题的方法:1.检查PHP版本兼容性确保帝国CMS版本与PHP7.x兼容。解决方法:查看官方文档:访问帝国CMS的官方网站或官方文档,查看推荐的PHP......
  • 帝国CMS火车头错误:没有获取到任何分类列表
    当帝国CMS火车头采集插件出现“没有获取到任何分类列表”的错误时,通常是因为一些配置或设置上的问题。以下是一些排查和解决此类问题的步骤:1.检查火车头采集插件的配置打开火车头采集插件配置:进入帝国CMS后台管理系统,找到火车头采集插件的配置页面。检查分类ID:确保你选择的分......
  • 安装帝国CMS,提示php.ini配置有问题的解决方法
    在安装帝国CMS时,如果提示 php.ini 配置有问题,需要将 short_open_tag 设为 On,可以通过以下步骤解决:工具/原料帝国CMS电脑方法/步骤登录服务器登录到你的服务器或虚拟主机。找到 php.ini 文件在PHP的安装文件夹中找到 php.ini 文件。通常这个文件位于P......