最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

探討:如何使用PHP實現計算兩個日期間隔的年、月、周、日數

 更新時間:2013年06月13日 15:14:48   作者:  
本篇文章是對使用PHP實現計算兩個日期間隔的年、月、周、日數的方法進行了詳細的分析介紹,需要的朋友參考下

使用PHP實現計算兩個日期間隔的年、月、周、日數:

復制代碼 代碼如下:

<?php
    function format($a,$b){
        //檢查兩個日期大小,默認前小后大,如果前大后小則交換位置以保證前小后大
        if(strtotime($a)>strtotime($b)) list($a,$b)=array($b,$a);
        $start  = strtotime($a);
        $stop   = strtotime($b);
        $extend = ($stop-$start)/86400;
        $result['extends'] = $extend;
        if($extend<7){                //如果小于7天直接返回天數
            $result['daily'] = $extend;
        }elseif($extend<=31){        //小于28天則返回周數,由于閏年2月滿足了
            if($stop==strtotime($a.'+1 month')){
                $result['monthly'] = 1;
            }else{
                $w = floor($extend/7);
                $d = ($stop-strtotime($a.'+'.$w.' week'))/86400;
                $result['weekly']  = $w;
                $result['daily']   = $d;
            }
        }else{
            $y=    floor($extend/365);
            if($y>=1){                //如果超過一年
                $start = strtotime($a.'+'.$y.'year');
                $a     = date('Y-m-d',$start);
                //判斷是否真的已經有了一年了,如果沒有的話就開減
                if($start>$stop){
                    $a = date('Y-m-d',strtotime($a.'-1 month'));
                    $m =11;
                    $y--;   
                }
                $extend = ($stop-strtotime($a))/86400;
            }
            if(isset($m)){
                $w = floor($extend/7);
                $d = $extend-$w*7;
            }else{
                $m = isset($m)?$m:round($extend/30);
                $stop>=strtotime($a.'+'.$m.'month')?$m:$m--;
                if($stop>=strtotime($a.'+'.$m.'month')){
                    $d=$w=($stop-strtotime($a.'+'.$m.'month'))/86400;
                    $w = floor($w/7);
                    $d = $d-$w*7;
                }
            }
            $result['yearly']  = $y;
            $result['monthly'] = $m;
            $result['weekly']  = $w;
            $result['daily']   = isset($d)?$d:null;
        }
        return array_filter($result);
    }

    print_r(format('2012-10-1','2012-12-15'));
?>

運行結果:
Array([extends]=>75[monthly]=>2[weekly]=>2)

php 查詢某天所在的周數及對應周的起始日期

復制代碼 代碼如下:

/**
* @file
* @version  1.1
* @author  QQ83989686
* @date  2012-8-7 最后修改時間
* @brief
*/
    //獲取某個日期的 周數、周對應的開始結束時間
    private function getWeekStartEndDay($day)
    {
        $g  = strftime("%u",strtotime($day));
        return array('week_num'=>strftime("%V",strtotime($day)),'week_start_day'=>strftime('%Y-%m-%d',strtotime($day)-($g-1)*86400),'week_start_day_cn'=>strftime('%Y年%m月%d日',strtotime($day)-($g-1)*86400),'week_end_day'=>strftime('%Y-%m-%d',strtotime($day) + (7-$g)*86400),'week_end_day_cn'=>strftime('%Y年%m月%d日',strtotime($day) + (7-$g)*86400));
    }

相關文章

  • php使用parse_str實現查詢字符串解析到變量中的方法

    php使用parse_str實現查詢字符串解析到變量中的方法

    這篇文章主要介紹了php使用parse_str實現查詢字符串解析到變量中的方法,較為詳細的分析了parse_str()函數的功能及字符串解析為變量的具體用法,并總結了使用中的相關注意事項,需要的朋友可以參考下
    2017-02-02
  • Linux服務器下PHPMailer發(fā)送郵件失敗的問題解決

    Linux服務器下PHPMailer發(fā)送郵件失敗的問題解決

    這篇文章主要給大家介紹了關于如何解決Linux服務器下PHPMailer發(fā)送郵件失敗的問題,文中通過示例代碼介紹的很詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • php session的應用詳細介紹

    php session的應用詳細介紹

    這篇文章主要介紹了php session的應用詳細介紹的相關資料,需要的朋友可以參考下
    2017-03-03
  • PHP+JQuery+Ajax實現分頁方法詳解

    PHP+JQuery+Ajax實現分頁方法詳解

    這篇文章主要介紹了PHP+JQuery+Ajax實現分頁的方法,結合實例形式詳細分析了php數據查詢、分頁設置及ajax交互的相關技巧,并總結了分頁的相關注意事項,需要的朋友可以參考下
    2016-08-08
  • PHP unset函數原理及使用方法解析

    PHP unset函數原理及使用方法解析

    這篇文章主要介紹了PHP unset函數原理及使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • PHP文件下載實例代碼淺析

    PHP文件下載實例代碼淺析

    這篇文章主要為大家詳細介紹了PHP文件下載實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • php對大文件進行讀取操作的實現代碼

    php對大文件進行讀取操作的實現代碼

    在php中,對于文件的讀取時,最快捷的方式莫過于使用一些諸如file、file_get_contents之類的函數,簡簡單單的幾行代碼就能很漂亮的完成我們所需要的功能。但當所操作的文件是一個比較大的文件時,這些函數可能就顯的力不從心, 下面將從一個需求入手來說明對于讀取大文件時,常用的操作方法
    2013-01-01
  • dedecms中顯示數字驗證碼的修改方法

    dedecms中顯示數字驗證碼的修改方法

    dedecms中顯示數字驗證碼的修改方法...
    2007-03-03
  • PHP面向對象程序設計重載(overloading)操作詳解

    PHP面向對象程序設計重載(overloading)操作詳解

    這篇文章主要介紹了PHP面向對象程序設計重載(overloading)操作,結合實例形式詳細分析了php面向對象程序設計重載原理、實現方法及相關操作技巧,需要的朋友可以參考下
    2019-06-06
  • 基于PHP導出Excel的小經驗 完美解決亂碼問題

    基于PHP導出Excel的小經驗 完美解決亂碼問題

    本篇文章是對PHP導出Excel亂碼問題的解決方法就行了詳細的分析介紹,需要的朋友參考下
    2013-06-06

最新評論

玛多县| 沭阳县| 高陵县| 泽库县| 东安县| 渑池县| 克东县| 全州县| 兴义市| 昌图县| 察隅县| 布尔津县| 庆元县| 象山县| 铜鼓县| 保山市| 宝山区| 裕民县| 平南县| 永州市| 团风县| 永城市| 广水市| 留坝县| 宁明县| 如东县| 华安县| 谢通门县| 大理市| 桂阳县| 铁岭市| 双江| 彭阳县| 滦南县| 军事| 延津县| 图木舒克市| 黎城县| 岳阳县| 临安市| 四会市|