【发布时间】:2021-08-20 08:41:00
【问题描述】:
日期未正确更改格式(YYYYMM -> YYYYY-MM)。
我想将 YYYYMM (int) 更改为 YYYY-MM 以使用 HTML 月份输入
我是这样实现的……但 $s_month 总是以某种方式显示 2021-06
{{$test->month }}//202005
@php
$s_month= $test->month ? date('Y-m',strtotime($test-> month)):"";
@endphp
{{$s_month}} // it displays 2021-06
<input name="s_month" type="month" value="{{$s_month?? ''}}"></input>
【问题讨论】:
-
使用
DateTime或Carbon类。strtotime不太可靠,因为它只能猜测它接收到的格式,而这些类有一个明确的方法来从特定格式创建日期对象。 -
在
2020-05的输入下工作正常,但在202005的输入下工作正常,所以我改变了问题,所以它有意义 -
简单的解决方案,将
01连接到YYYYMM以生成有效的完整日期,然后它将起作用所以date('Y-m',strtotime($test-> month . '01'))
标签: php laravel laravel-blade date-formatting