PHP 5.3 的新函式:date_create_from_format()
PHP 的其中一位主要贡献者 Derick Rethans 在他的网志上 表示,PHP 5.3 将会提供一个比 strtotime() 和 date_create() 函式更有弹性的新函式 date_create_from_format() 与及 DateTime 的新静态成员函式 createFromFormat(),响应 PHP 社群长期以来提出的要求。
strtotime() 和 date_create() 一直只接受 GNU 的日期和时间格式,其中包括美国的 mm/dd/yyyy,很多其它语言和国家的格式,包括英式的 dd/mm/yyyy 等均不能解读,刚结束的伦敦 PHP 会议便 有出席者对此大表不满,Derick Rethans 于是决定在快将推出的 PHP 5.3 加入这两个更有弹性的日期时间转换函式,例如函式 date_create_from_format() 将接受两个自变量,第一个自变量表示格式,第二各自变量是日期时间字符串,例如:
<?php
$dt = date_create_from_format( 'd/m/Y', "02/03/2008" );
echo $dt->format( 'd/m/Y' ), "\n";
?>
若果提供的格式不能用来解读日期时间字符串,这个函式会送回 false,我们跟着可以调用另一个新函式 date_get_last_errors() 来检视字符串哪些部分出错,非常方便。至于格式的表达式,则跟 date() 所使用的没有分别。
Derick Rethans 标示新函式的使用说明很快便会在官方文档网站内公布。