PHP 将周数和年份转换回 Carbon?

标签 php php-carbon

我使用 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);

参见https://3v4l.org/g33QV

关于PHP 将周数和年份转换回 Carbon?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52062453/

相关文章:

php - 检查 Yii 中是否加载了关系

php - 使用 php 突出显示非常大的文件之间的差异

php - 使用 laravel mysql 生成每日报告

php-carbon - 为每个 Carbon 实例设置默认的 __toString() 格式?

php - 维基百科样式包含 - 循环检测 PHP

PHP PDO 获取结果

Windows 托管错误上的 php 联系表单

php - 为什么我使用 Carbon 得到无效的数字?

php - Laravel Carbon 格式日期

php - 碳12小时格式