记录日期的一些转换操作

记录一些日期的转换方法

/*
 * 根据日期生成日期数组
 * */
function createDateArr($start_time, $end_time)
{

    $open_start_time = $start_time;
    $open_end_time = $end_time;
    $stimestamp = strtotime($open_start_time);
    $etimestamp = strtotime($open_end_time);
    // 计算日期段内有多少天
    $days = ($etimestamp - $stimestamp) / 86400 + 1;
    // 保存每天日期
    $arr = [];
    for ($i = 0; $i < $days; $i++) {
        $arr[] = date('Y-m-d', $stimestamp + (86400 * $i));
    }
    return $arr;
}


/**
 * 获取本周所有日期
 */
function get_week2($time = '', $format = 'Y-m-d')
{
    $time = $time != '' ? $time : time();
    //获取当前周几
    $week = date('w', $time);
    $date = [];
    for ($i = 1; $i <= 7; $i++) {
        $date[$i] = date($format, strtotime('+' . $i - $week . ' days', $time));
    }
    return $date;
}
//日期转化星期几
function get_week($date)
{
    header("Content-type: text/html; charset=utf-8");
    //强制转换日期格式
    $date_str = date('Y-m-d', strtotime($date));
    //封装成数组
    $arr = explode("-", $date_str);
    //参数赋值
    //年
    $year = $arr[0];
    //月,输出2位整型,不够2位右对齐
    $month = sprintf('%02d', $arr[1]);
    //日,输出2位整型,不够2位右对齐
    $day = sprintf('%02d', $arr[2]);
    //时分秒默认赋值为0;
    $hour = $minute = $second = 0;
    //转换成时间戳
    $strap = mktime($hour, $minute, $second, $month, $day, $year);
    //获取数字型星期几
    $number_wk = date("w", $strap);
    //自定义星期数组
    $weekArr = array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
    //获取数字对应的星期
    return $weekArr[$number_wk];
}

//计算俩个日期之差
function diffBetweenTwoDays($day1, $day2)
{
    $second1 = strtotime($day1);
    $second2 = strtotime($day2);
    if ($second1 < $second2) {
        $tmp = $second2;
        $second2 = $second1;
        $second1 = $tmp;
    }
    return ($second1 - $second2) / 86400;
}
//将秒数转换成年月日时分秒
function GEtTime($time){
    if(is_numeric($time)){
        $value = array(
            "years" => 0, "days" => 0, "hours" => 0,
            "minutes" => 0, "seconds" => 0,
        );
//        if($time >= 31556926){
//            $value["years"] = floor($time/31556926);
//            $time = ($time%31556926);
//        }
        if($time >= 86400){
            $value["days"] = floor($time/86400);
            $time = ($time%86400);
        }
        if($time >= 3600){
            $value["hours"] = floor($time/3600);
            $time = ($time%3600);
        }
        if($time >= 60){
            $value["minutes"] = floor($time/60);
            $time = ($time%60);
        }
        $value["seconds"] = floor($time);
        $t=$h=$m=$s='';
        if ($value["days"]>0){
             $t=$value["days"]."天";
        }
        if ($value["hours"]>0){
             $h=$value["hours"]."小时";
        }
        if ($value["minutes"]>0){
            $m=$value["minutes"]."分";
        }
        if ($value["seconds"]>0){
            $s=$value["seconds"]."秒";
        }
        $time2=$t.$h.$m.$s;
        return $time2;
    }else{
        return '时间格式不正确';
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是誰萆微了承諾

你的鼓励是对我最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值