格式化日期时出错 - 日期不是有效日期

时间:2018-04-09 23:34:12

标签: php jquery twitter-bootstrap laravel

我有一个表单,我可以使用单选按钮选择一些帖子,在选择一些帖子后,该帖子的信息会填充在下面的某些表单字段中,然后用户可以更新字段并单击"更新&# 34。

一个表单字段是日期字段。我使用datetimepicker。在输入中,我希望在使用此格式的datetimepicker选择日期后显示日期: " 10 Abril 2018 - 00:24"

问题是日期显示为" Th 02 yyyy - 06:ii"。

然后单击更新按钮时出现验证错误"故障单类型开始日期不是有效日期。"。

你知道问题出在哪里吗?

我有这个html输入:

<div class="form-group col-md-6">
    <label for="date">Date</label>
    <div class="input-group date" data-provide="datepicker">
        <input type='text' onkeydown="event.preventDefault()"
               name="date" value="{{old('date')}}"
               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>

的jQuery

  $( ".input-group.date" ).datetimepicker({
    format: "dd MM yyyy - hh:ii",
    autoclose: true,
    todayBtn: true,
    minuteStep: 5
});

...            
// some jquery to load the form fields with some values when the correspondend radio button is selected    
 $("input[name='date']").val( moment(data.date).format('dd MM yyyy - hh:ii'));

然后是控制器:

public function update(Request $request, $id){
        //dd($request->date);
        //dd($request->all());

        $this->validate($request, [
            'date' => 'required|date',

        ]);

        $postToUpdate = Post::find($request->radiobutton);
        ....
        $postToUpdate->date = $request->date;

        $postToUpdate->save();
        return redirect()->back();
    }

1 个答案:

答案 0 :(得分:1)

使用控制器中的碳

echo Carbon::create(2000, 1, 35, 13, 0, 0); // 2000-02-04 13:00:00
echo Carbon::createFromFormat('Y-m-d H', '1975-05-21 22')->toDateTimeString(); // 1975-05-21 22:00:00

有关更多示例,请点击此处http://carbon.nesbot.com/docs/

它会正确格式化您的日期,以便您更新数据库。

尝试这一点 - 不确定但可能有效

$( ".input-group.date" ).datetimepicker({
    format: "dd MM yyyy - hh:ii",
    autoclose: true,
    todayBtn: true,
    minuteStep: 5
});