我使用W-Y格式表示星期数和年份。
例如2018年的最后一周将表示为'52-2018'
。
但是我无法获得Carbon或DateTime将其转换回去。
>>> Carbon::createFromFormat('W-Y', '01-2018')
InvalidArgumentException with message 'The format separator does not match
The separation symbol could not be found
Trailing data'
答案 0 :(得分:4)
DateTime::createFromFormat
(Carbon扩展的内容)不支持W
格式字符。
解决此问题的最简单方法是创建一个新的DateTime
(或Carbon)实例,并使用本机的setISODate
方法设置年和周编号:
$str = '01-2018';
list ($week, $year) = explode('-', $str);
$d = new DateTime;
$d->setISODate($year, $week);