我使用 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'
最佳答案
遗憾的是,
DateTime::createFromFormat
(Carbon 扩展的内容)不支持 W
格式字符。
解决此问题的最简单方法是创建一个新的 DateTime
(或 Carbon)实例,并使用 native setISODate
设置年份和周数的方法:
$str = '01-2018';
list ($week, $year) = explode('-', $str);
$d = new DateTime;
$d->setISODate($year, $week);
关于PHP 将周数和年份转换回 Carbon?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52062453/