🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
目录 [TOC] * * * * * #### PHP strtotime() 函数 将英文文本日期时间解析为 Unix 时间戳: ~~~ <?php echo(strtotime("now") . "<br>"); echo(strtotime("15 October 1980") . "<br>"); echo(strtotime("+5 hours") . "<br>"); echo(strtotime("+1 week") . "<br>"); echo(strtotime("+1 week 3 days 7 hours 5 seconds") . "<br>"); echo(strtotime("next Monday") . "<br>"); echo(strtotime("last Sunday")); ?> ~~~ 实例 ~~~ <?php /** * 校验日期格式是否正确 * * @param string $date 日期 * @param string $formats 需要检验的格式数组 * @return boolean */ function checkDateIsValid($date, $formats = array("Y-m-d", "Y/m/d")) { $unixTime = strtotime($date); if (!$unixTime) { //strtotime转换不对,日期格式显然不对。 return false; } //校验日期的有效性,只要满足其中一个格式就OK foreach ($formats as $format) { if (date($format, $unixTime) == $date) { return true; } } return false; } var_dump(checkDateIsValid("2013-09-10")); //输出true var_dump(checkDateIsValid("2013-09-ha")); //输出false var_dump(checkDateIsValid("2012-02-29")); //输出true var_dump(checkDateIsValid("2013-02-29")); //输出false ?> ~~~ #### PHP checkdate() 函数 检查一些日期是否是有效的格利高里日期: 实例 ~~~ <?php var_dump(checkdate(12,31,-400)); //bool(false) var_dump(checkdate(2,29,2003)); //bool(false) var_dump(checkdate(2,29,2004)); //bool(true) ?> ~~~ 字符串格式是否是有效的格利高里日期: ~~~ function checkDateStr($mydate) { list($yy,$mm,$dd)=explode("-",$mydate); if (is_numeric($yy) && is_numeric($mm) && is_numeric($dd)) { return checkdate($mm,$dd,$yy); } return false; } ~~~