0

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
  • 蝰蛇键盘
4

1 回答 1

3

手册

“如果 format 不包含字符 ! 则生成时间中未在 format 中指定的部分将设置为当前系统时间。”

以下应该按预期工作:

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

# result:
string(2) "02"
string(1) "2"
于 2012-04-30T04:05:25.803 回答