六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 58|回复: 0

PHP将一个日期字符串转换成举例当前的天数

[复制链接]

升级  39.33%

27

主题

27

主题

27

主题

秀才

Rank: 2

积分
109
 楼主| 发表于 2013-2-7 00:53:32 | 显示全部楼层 |阅读模式
输入为一个日期字符串,例如:2011-3-23
输出为举例当前的天数,例如:1
 
代码为:
 
    public static function convertDateToLong($dateStr){        $checkPattern = "/^\d{4}(((-\d{1,2}){2})|((\.\d{1,2}){2})|((\/\d{1,2}){2}))$/";        $date = substr(trim($dateStr),0,strpos(trim($dateStr)," ")>0 ? strpos(trim($dateStr)," ") : strlen(trim($dateStr)));        if(preg_match($checkPattern,$date)){            preg_match("/([-\/.])/",$date,$outer);            $dilimeter = $outer[1];            list($year,$month,$day) = explode($dilimeter,$date);            if(checkdate($month,$day,$year)){                $spsec = time()-mktime(0,0,0,$month,$day,$year);                if($spsec < 0) throw new Exception("date can not be after today!!!");                $spday = floor($spsec/24/60/60);                return $spday;            }            else{                throw new Exception("the date input is not a valid date");            }        }        else{            throw new Exception("the dateStr is wrong formatted!!!");        }    }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表