php将一个日期字符串转换成举例当前的天数
输入为一个日期字符串,例如: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
1 楼 bardo 2011-03-26 丢开有效性检验不说,这个代码绕的弯子太大了。算天数只要一代码:
$day=floor((time()-strtotime($date))/86400);
2 楼 liuzhiqiangruc 2011-03-30 bardo 写道丢开有效性检验不说,这个代码绕的弯子太大了。算天数只要一代码:
$day=floor((time()-strtotime($date))/86400);
确实,strtotime是可以的,多谢指点。:-)
3 楼 liuzhiqiangruc 2011-03-30 liuzhiqiangruc 写道bardo 写道丢开有效性检验不说,这个代码绕的弯子太大了。算天数只要一代码:
$day=floor((time()-strtotime($date))/86400);
确实,strtotime是可以的,多谢指点。:-)
而且,strtotime支持的日期格式很丰富,学习了。
4 楼 liuzhiqiangruc 2011-03-30 liuzhiqiangruc 写道liuzhiqiangruc 写道bardo 写道丢开有效性检验不说,这个代码绕的弯子太大了。算天数只要一代码:
$day=floor((time()-strtotime($date))/86400);
确实,strtotime是可以的,多谢指点。:-)
而且,strtotime支持的日期格式很丰富,学习了。
http://www.php.net/manual/en/datetime.formats.date.php