解析带 2 位数年份的日期

Parse date with 2-digit year

我想用 Carbon 解析形式为 02.01.19 13:49 的字符串。

现在 \Carbon\Carbon::parse('02.01.19 13:49'); 失败

DateTime::__construct(): Failed to parse time string (20.01.19 13:49) at position 9 (1): Double time specification

有没有办法告诉 Carbon 19 代表 2019 年?

这是我设法做到的,但有点难看:

\Carbon\Carbon::parse(
    preg_replace('/(\d\d\.\d\d\.)(\d\d) /','20 ', '02.01.19 13:49')
);

您可以使用方法 Carbon::createFromFormat() 从自定义日期格式字符串创建 carbon 实例。

Carbon\Carbon::createFromFormat('m.d.y H:i', '02.01.19 13:49');

您可以从 http://php.net/manual/en/function.date.php

中引用 PHP 日期格式字符串
Carbon::createFromFormat("d.m.y H:i", "02.01.19 13:49");

如果输入格式固定,这可以解决问题。