cakephp 日期时间格式化程序不解析时间部分

cakephp datetime formatter not parsing time part

我有一个输入,可以将此字符串转换为日期时间字段(这是 <input type='datetime-local'> 元素的默认格式):

'2020-04-19T18:00'

我已经配置了解析器:

Type::build('datetime')->useLocaleParser()->setLocaleFormat('yyyy-MM-ddTHH:mm');

但是我在日期时间字段中得到的是:

'datetime' => object(Cake\I18n\FrozenTime) {
    'time' => '2020-04-19 00:00:00.000000+00:00',
    'timezone' => 'UTC',
    'fixedNowTime' => false

}

如果我使用 'yyyy-MM-dd''yyyy-MM-dd HH:mm' 没有任何变化:我总是得到时间部分的值 00:00:00

你的模式有一个小问题,你需要转义常规文本,因为 aAzZ 之间的所有字母都保留为模式字母,即 T 需要在这样的单引号中:

"yyyy-MM-dd'T'HH:mm"

另见