SnakeYi
  • 首页
  • 技术
  • 休闲
  • 杂文
  • 感谢
2019-07-11 作者:zhouc

日期相减及生成连续日期

日期相减及生成连续日期
2019-07-11 作者:zhouc

一、日期相减:求相差年数、月数、日数

/**
 * 日期相减:相差年数、月数、日数
 *
 * @param $sDate date <p>起始日期</p>
 * @param $eDate date <p>截止日期</p>
 * @param $sign string <p>年:y 月:m 日:d</p>
 *
 * @return int 相差数
 */
function dateSubtraction($sDate, $eDate, $sign = "m")
{
    $z = 0;

    if ($sDate > $eDate) { $temp = $sDate; $sDate = $eDate; $eDate = $temp; }

    $sDate_stamp = strtotime($sDate);
    $eDate_stamp = strtotime($eDate);
    list($date_1['y'], $date_1['m'], $date_1['d']) = explode("-", date('Y-m-d', $sDate_stamp));
    list($date_2['y'], $date_2['m'], $date_2['d']) = explode("-", date('Y-m-d', $eDate_stamp));

    switch ($sign) {
        case "y":
            $z = abs($date_1['y'] - $date_2['y']);
            break;
        case "m":
            $z = abs($date_1['y'] - $date_2['y']) * 12 + $date_2['m'] - $date_1['m'];
            break;
        case "d":
            $z = abs(($sDate_stamp - $eDate_stamp) / 86400);
            break;
    }

    return $z;
}

二、自动生成连续日期:按年度、月度、日

/**
* 自动生成连续日期:按年度、月度、日
*
* @param $sDate date <p>起始日期</p>
* @param $eDate date <p>截止日期</p>
* @param $sign string <p>年:y 月:m 日:d</p>
*
* @return array 连续日期
*/
function dateContinuous($sDate, $eDate, $sign = "m")
{
$arrDate = Array();

if ($sDate > $eDate) { $temp = $sDate; $sDate = $eDate; $eDate = $temp; }

$n = dateSubtraction($sDate, $eDate, $sign);

switch ($sign) {
case "y":
for ($i = 0; $i <= $n; $i++) {
$arrDate[] = date("Y-m-d", strtotime("+" . $i . " years", strtotime($sDate)));
}
break;
case "m":
for ($i = 0; $i <= $n; $i++) {
$arrDate[] = date("Y-m-d", strtotime("+" . $i . " months", strtotime($sDate)));
}
break;
case "d":
for ($i = 0; $i <= $n; $i++) {
$arrDate[] = date("Y-m-d", strtotime("+" . $i . " days", strtotime($sDate)));
}
break;
}

return $arrDate;
}

上一篇JS控制表单所有数据只读下一篇 Centos SSH连接、文件拷贝

最近的文章

App Store 发布审核失败问题一2024-07-18
iOS橙子系列2023-04-24
橙子系列 – 画画助手2023-04-24
MacBook Pro 2014系统强制升级2023-04-24
抖音带货和开店的些许心得(闭坑)2023-04-23
iOS App开发 – URL Schemes白名单2022-10-21
云服务器初始化 第六章:更改MySQL数据文件存放路径2021-01-16
云服务器初始化 第五章:安装MySQL2021-01-16
云服务器初始化 第四章:安装PHP2021-01-16
云服务器初始化 第三章:安装Nginx2021-01-16

分类

  • 技术 (26)
    • SwiftUI (5)
      • iOS应用 (3)
    • 数据库 (1)
    • PHP-HouseOA (3)
    • 小米路由器 (2)
    • CentOS (5)
    • JavaScript (3)
    • PHP (1)
    • 云服务器初始化 (6)
  • 休闲 (8)
    • 游戏 (1)
    • 电影 (1)
    • 音乐 (1)
    • 随心所欲 (5)
  • 杂文 (2)
    • 百度 (2)
  • 感谢 (5)

归档

  • 2024年7月 (1)
  • 2023年4月 (4)
  • 2022年10月 (1)
  • 2021年1月 (6)
  • 2020年10月 (1)
  • 2020年9月 (2)
  • 2020年6月 (2)
  • 2020年5月 (3)
  • 2020年4月 (5)
  • 2020年3月 (2)
  • 2020年2月 (1)
  • 2019年10月 (1)
  • 2019年9月 (1)
  • 2019年7月 (11)

土豪大哥!~\(≧▽≦)/~啦啦啦

交流方式

邮箱:bingchuan0203@163.com

ICP备案:黔ICP备15011645号
联系邮箱:bingchuan0203@163.com