当前位置:  开发笔记 > 编程语言 > 正文

php检查有效日期,奇怪的日期转换

如何解决《php检查有效日期,奇怪的日期转换》经验,为你挑选了2个好方法。

有没有办法检查日期/时间是否有效你会认为这些很容易检查:

$date = '0000-00-00';
$time = '00:00:00';
$dateTime = $date . ' ' . $time;

if(strtotime($dateTime)) {
    // why is this valid?
}

真正让我感到满意的是:

echo date('Y-m-d', strtotime($date)); 

结果:"1999-11-30",

是吧?我从的电子邮件发送到1999-11-30 ???

我知道我可以做比较,看看日期是否等于我的日期,但它不是一个非常强大的检查方式.有没有一个好方法来检查我是否有一个有效的约会?任何人都有很好的功能来检查这个?

编辑:人们在问我正在运行的是什么:在Linux localhost上运行PHP 5.2.5(cli)(内置:2008年7月23日11:32:27)2.6.18-53.1.14.el5#1 SMP 3月5日星期三11 :36:49 EST 2008 i686 i686 i386 GNU/Linux



1> mk...:

来自php.net




2> Izkata..:

如上所述:https: //bugs.php.net/bug.php?id = 45647

这里没有错误,00-00-00表示2000-00-00,即1999-12-00,即1999-11-30.没有错误,完全正常.

正如一些测试所示,向后滚动是预期的行为,如果有点不安:

>> date('Y-m-d', strtotime('2012-03-00'))
string: '2012-02-29'
>> date('Y-m-d', strtotime('2012-02-00'))
string: '2012-01-31'
>> date('Y-m-d', strtotime('2012-01-00'))
string: '2011-12-31'
>> date('Y-m-d', strtotime('2012-00-00'))
string: '2011-11-30'

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有