为什么在日期字段中显示“ dd MM yyyy-hh:ii”?

时间:2018-07-27 18:06:39

标签: php laravel

我具有日期时间选择器中的格式,例如“ format:“ dd MM yyyy-hh:ii”,并且将日期存储在数据库中的格式为“ 'start_date' => Carbon::createFromFormat('d F Y - H:i', $request->start_date), “。

在会议详细信息页面中,我想显示数据库中的存储日期。但是像下面的日期字段中一样,出现“ dd MM yyyy-hh:ii”而不是日期。你知道为什么吗?

<div class="form-row">
    <div class="form-group col-md-6">
        <label for="start_date">Start date</label>
        <div class="input-group date" data-provide="datepicker">
            <input type='text' onkeydown="event.preventDefault()"
                   name="start_date" value="{{!empty($conference->start_date) ? $conference->start_date->formatLocalized('dd MM yyyy - hh:ii'): ''}}
                    "
                   class="form-control" placeholder="DD/MM/YYY" />
            <span class="input-group-addon"><i class="fa fa-calendar text-primary" aria-hidden="true"></i></span>
        </div>
    </div>
    <div class="form-group col-md-6">
        <label for="end_date">End date
        <div class="input-group date" data-provide="datepicker">
            <input type='text' class="form-control"
                   value=" {{!empty($conference->end_date) ? $conference->end_date->formatLocalized('dd MM yyyy - hh:ii'): ''}}
                           " name="end_date" placeholder="DD/MM/YYY"/>
            <span class="input-group-addon"><i class="fa fa-calendar text-primary" aria-hidden="true"></i></span>
        </div>
    </div>
</div>

2 个答案:

答案 0 :(得分:0)

formatLocalized()在后台使用了strrftime(),并且用于根据语言环境设置来格式化本地时间/日期,因此我认为这不是您要使用的方法。

此外,您传递给该方法的格式不适用于PHP。要使用php正确格式化日期,您应该查看the docs for php date()

在刀片文件更改中:

$conference-start_date->formatLocalized('dd MM yyyy - hh:ii')

收件人:

$conference-start_date->format('d F Y - H:i')

也对end_date做同样的事情。

答案 1 :(得分:0)

<input type='text' onkeydown="event.preventDefault()"
                   name="start_date" value="{{!empty($conference->start_date) ? $conference->start_date->formatLocalized('dd MM yyyy - hh:ii'): ''}}
                    "
                   class="form-control" placeholder="DD/MM/YYY" />

用上面的代码代替上面的代码,

<input type='text' onkeydown="event.preventDefault()"
                   name="start_date" value="{{!empty($conference->start_date) ? $conference->start_date->format('d/m/Y')): ''}}
                    "
                   class="form-control" placeholder="DD/MM/YYY" />

您在打印时搞乱了格式转换

$conference->start_date->formatLocalized('dd MM yyyy - hh:ii')

由于您已经使用碳纤维进行日期转换,因此您也可以在打印时使用它

$conference->start_date->format('d/m/Y')