【问题标题】:Change format input type='date' from mm-dd-yyyy to dd-mm-yyyy Laravel [duplicate]将格式输入 type='date' 从 mm-dd-yyyy 更改为 dd-mm-yyyy Laravel [重复]
【发布时间】:2019-02-23 13:53:35
【问题描述】:

我正在尝试将 laravel 中的日期格式从 mm-dd-yyy 更改为 dd-mm-yyyy

<input type="date" class="form-control" name="joining_date" id="joining_date" required>

我什至尝试输入timezone="[[timezone]]",但没有任何改变。

【问题讨论】:

  • $model->joining_date->format('Y-m-d')

标签: javascript php html laravel


【解决方案1】:

在像这样输入数据库之前在控制器中转换该日期:

$originalDate = $request->joining_date;
$newDate = date("dd-mm-YYYY", strtotime($originalDate));

或者如果你想在视图中显示相同的日期

{{ date("dd-mm-YYYY", strtotime($date_from_controller)); }}

如果你想预先填充输入字段,那么

<input type="date" class="form-control" name="joining_date" id="joining_date" value="{{ date("dd-mm-YYYY", strtotime($date_from_controller)); }}" required> 

如果你想改变输入日期的格式,那么

<input type="text" name="input" placeholder="dd-mm-yyyy" required pattern="(?:30))|(?:(?:0[13578]|1[02])-31))/(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])">

希望这对您有所帮助。

【讨论】:

    【解决方案2】:
    Carbon::createFromFormat('mm-dd-yyy', $input)
      ->format('dd-mm-yyyy'); `
    

    【讨论】:

    • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
    • 此外,这并不能解决 op 的问题,因为他想更改输入的格式,而不是输出。
    【解决方案3】:

    你应该试试这个:

    $date =  date('d-m-Y', strtotime($request->date));
    

    【讨论】:

      【解决方案4】:
      date_create_from_format('mm-dd-yyy', $input)->format('dd-mm-yyyy');
      

      【讨论】:

      • 虽然此代码可能会回答问题,但会添加一些解释,说明为什么以及如何提高答案的质量
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多