PHP DateTime :: createFromFormat无法正常工作

时间:2012-04-30 03:56:19

标签: php date

DateTime::createFromFormat似乎无法正常工作,是否有人知道原因和/或如何解决问题?

鉴于此代码:

var_dump(DateTime::createFromFormat('m', '02')->format('m'));
var_dump(DateTime::createFromFormat('n', '2')->format('n'));

我的预期输出是

02
2

但实际上我得到了:

03
3

实施例: http://codepad.viper-7.com/e4hns6

我在众多服务器上测试了这一点,包括:

  • 赢得PHP 5.4
  • Linux PHP 5.3
  • Viper键盘

1 个答案:

答案 0 :(得分:3)

来自manual

  

“如果格式不包含该字符!那么部分内容   格式中未指定的生成时间将设置为   当前系统时间。“

以下内容应按预期工作:

var_dump(DateTime::createFromFormat('!m', '02')->format('m'));
var_dump(DateTime::createFromFormat('!n', '2')->format('n'));

# result:
string(2) "02"
string(1) "2"