> 백엔드 개발 > PHP 튜토리얼 > 请教 PHP 中计算离生日还剩下多少天问题?

请教 PHP 中计算离生日还剩下多少天问题?

WBOY
풀어 주다: 2016-06-06 20:37:34
원래의
2478명이 탐색했습니다.

如 生日是10-04 那么离他生日应该有200多天的样子 求支招

回复内容:

如 生日是10-04 那么离他生日应该有200多天的样子 求支招

http://php.net/manual/en/datetime.diff.php

<code><?php $datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
</code>
로그인 후 복사

算日期的时候非常忌讳自己去算,因为这是一个很复杂的问题,一天并非总是 24 小时(比如非夏令时向夏令时切换的那一天只有 23 个小时),每个小时也并非就是 3600 秒(UTC 和 GMT 相差超过一秒的时候会添加闰秒),一年也并非总是 365 天(闰年),闰年也并非是四年一次(每个世纪的首年必须能被 400 整除才算)。然后还有不同时区的区别,时区之间并非仅仅是时间相差几个小时那么简单。

所以算时间一定要用专业的库,当然 PHP 自带的这个 DateTime 可能并不能覆盖到所有的情况,不过毕竟是自带的,大多数情况下够用了。

这里有一个非常好的php时间组件:https://github.com/briannesbitt/Carbon

<code>ceil( ( strtotime ("2015-10-04") - strtotime( date("y-m-d") ) )/86400 );
</code>
로그인 후 복사

@王子亭 这个diff我还从来没用过,长见识了

Carbon + 1

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿