方法一
1 $date1 = mktime(0,0,0,2,5,2007); // mktime,对时间格式要求严格,返回一个unix时间戳 2 $date2 = mktime(0,0,0,3,6,2007); 3 echo ($date2 - $date1)/(24*3600);
方法二
1 echo (strtotime('20070316')-strtotime('20070306'))/(24*3600); // strtotime,将一个英式日期戳转换成一个unix时间戳,只要格式符合日期格式即可
注意点:月份和天的日期都不能省去十位的零,否则会出现不以明之的错误
1 echo date('Y-m-d', strtotime('20050206')),'<br>'; // 2005-02-06 2 echo date('Y-m-d', strtotime('2005206')),'<br>'; // 2005-07-25 3 echo date('Y-m-d', strtotime('200526')),'<br>'; // 2016-11-16
方法三
1 echo abs(strtotime(“2007-2-1 2 ″)-strtotime(“2007-3-1″))/60/60/24 计算时间差
strtotime的用法:
1 echo strtotime("now"), '<br>'; 2 echo strtotime("10 September 2000"), '<br>'; 3 echo strtotime("+1 day"), '<br>'; 4 echo strtotime("+1 week"), '<br>'; 5 echo strtotime("+1 week 2 days 4 hours 2 seconds"), '<br>'; 6 echo strtotime("next Thursday"), '<br>'; 7 echo strtotime("last Monday"), '<br>'; 8 // 返回的都是unix时间戳
相应的结果:
1479143620
968515200
1479230020
1479748420
1479935622
1479312000
1479052800