有人可以有人解释一年的非标准格式strtotime函数的行为。strtotime与2位数字格式的年份
echo date("d-m-Y",strtotime('02-12-10')) .'<br>'; //10-12-2002
echo date("d-m-Y",strtotime('09.09.10')) .'<br>'; //02-09-2010 --How this is interpreted?
echo date("d-m-Y",strtotime('02-12-2010')) .'<br>'; //02-02-2010
echo date("d-m-Y",strtotime('09.09.2010')) .'<br>'; //09-09-2010
我想将格式为dd.mm.yy(09.09.10)的字符串转换为日期时间格式。
我不同意这个建筑理由的答案。非标准日期应该几乎总是首先被标准化,**在尝试将它们解析为更多可用的形式之前,并且如果可能的话,由提交者验证为正确。 – 2010-09-02 11:30:38
@hopeseekr定义“标准”。在我的祖国德国,“09.09.10”是一种有效格式,意思是2010年9月9日。从用户输入 - 直接转换为时间戳*,而不是使用繁琐的字符串操作使其首次成为ISO日期?对我没有意义。 – 2010-09-02 11:34:09
@Pekka,甚至PHP手册对strptime()都有很大的警告。它说要使用http://us.php.net/manual/en/function.date-parse-from-format.php代替。 – 2010-09-02 11:56:01