代码之家  ›  专栏  ›  技术社区  ›  Fil

尝试呈现日期

  •  0
  • Fil  · 技术社区  · 6 年前

    我有这个密码,

    <div class=“form group”>
    <label class=“col-sm-2 control label”用于“创建日期”>创建日期</label>
    <DIV class=“col-sm-10”>
    @if(isset($post->created_at))。
    <input type=“date”class=“form control”id=“date created”name=“created_at”value=“date('d/m/y',strtotime($post->created_at))”>
    @其他
    <input type=“date”class=“form control”id=“date created”name=“created_at”placeholder=“输入日志创建日期”>
    @结束语
    </DIV>
    </DIV>
    

    我要做的是,将日期从数据库显示回类型的输入框,允许用户编辑日期。

    但这是在浏览器上渲染时显示的

    那最好怎么办?:-)

    请不要投反对票。这可能是一个简单的问题,但我找不到一个简单的解释来解释为什么它对我不起作用。

    我要做的是,将日期从数据库显示回允许用户编辑日期类型的输入框。

    但这是在浏览器上渲染时显示的

    enter image description here 那最好怎么办?:-)

    请不要投反对票。这可能是一个简单的问题,但我找不到一个简单的解释为什么它对我不起作用。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Namoshek    6 年前

    你唯一做错的就是日期格式,也就是 YYYY-MM-DD 根据 Mozilla Developers Guide for the <input type="date"> field .所以只需将日期格式字符串切换为 Y-m-d .

    或者,您也可以使用 Carbon 反义词提到的方法和使用函数 toDateString() .如果你准备好了 created_at 字段作为 $date 字段 protected $dates = ['created_at']; 在您的模型中,您甚至不需要将日期字符串解析为一个Carbon对象。该模型只需按需返回一个碳对象。

    顺便说一下,由于输入的固定格式,我不认为在日期输入字段中使用占位符有效。

        2
  •  1
  •   AntonyMN    6 年前

    拉拉维尔和 Carbon nesbot 包括在框外以帮助设置日期格式。Laravel中的日期可以很容易地设置为如下格式:

    {{\Carbon\Carbon::parse($post->created_at)->format('d/m/Y') }}
    
    {{\Carbon\Carbon::parse($post->created_at)->format('jS M Y') }}
    

    只是显示一些选项。您可以获得日期格式的完整文档 here

    在您的情况下,代码应该是

    @if (isset($post->created_at))
      <input type="date" class="form-control" id="date-created" name="created_at" value="{{ \Carbon\Carbon::parse($post->created_at)->format('d/m/Y') }}">
    @else
      <input type="date" class="form-control" id="date-created" name="created_at" placeholder="Enter the date the blog post created">
    @endif