【问题标题】:Formatting dates laravel using protected $dates使用受保护的 $dates 格式化日期 laravel
【发布时间】:2016-03-02 01:57:38
【问题描述】:

我四处寻找一种方法来格式化我视图上显示的日期。我发现如果将该字段插入模型下受保护的 $dates 数组中,我可以根据需要操作日期。但是现在当我想在数据库中进行新的插入时,我得到了

Unexpected Date Format

这是我的模型中的内容:

protected $fillable = ['name', 'description', 'address','caption', 'video', 'visibility', 'image', 'publish_at', 'link'];

protected $dates = ['publish_at'];

在我看来:

    <p class = "day">
        {{$event->publish_at->format('d')}}
    </p>


    <p class = "month">
        {{$event->publish_at->format('M')}}
    </p>

我尝试在保存日期之前再次格式化日期:

$date = new ElephantCalender(array(
        'name' => $request->get('name'),
        'description'  => $request->get('description'),
        'caption'  => $request->get('caption'),
        'address'  => $request->get('address'),
        'link'  => $request->get('link'),
        'visibility'  => $request->get('visibility'),
        'publish_at'  => $request->get('publish_at')->format('yyyy-mm-dd')
    ));

    $date->save();

这告诉我不能在字符串上使用 format()。还有其他方法可以将日期转换为正确的格式以提交给表格吗?

【问题讨论】:

  • 我认为 Eloquent 会将 Carbon 对象转换为正确的日期格式,所以也许你可以'publish_at' =&gt; new Carbon($request-&gt;get('publish_at'))
  • 这很好用。非常感谢@Rudie ..你能把它放到一个答案中,这样我就可以投票了吗?

标签: php mysql date laravel


【解决方案1】:

我不确定从 get(..) 格式化日期

使用

$tempT = DateTime::createFromFormat('m-d-Y', '10-16-2003')->format('Y-m-d');

或类似的东西

$d = new DateTime('10-16-2003');

$timestamp = $d->getTimestamp(); // Unix timestamp
$tempT = $d->format('Y-m-d'); // 2003-10-16

你可以在查询中使用 $tempT

【讨论】:

    【解决方案2】:

    Eloquent 使用Carbon 创建日期对象。它还可以使用Carbon将日期对象根据配置的日期格式存储到数据库中。

    这应该可行:

    'publish_at' => new Carbon($request->get('publish_at'))
    

    输入格式很重要。像这样,您将让 Carbon 或 PHP 决定如何解析输入日期字符串。某些日期格式不明确:2015 年 11 月 7 日可能意味着 7 月 11 日或 11 月 7 日。为了绝对确定,您可以使用DateTime::createFromFormat,正如@volkinc 建议的那样。无论哪种情况,生成的对象都将由 Eloquent 格式化。

    【讨论】:

      猜你喜欢
      • 2018-10-20
      • 2017-03-20
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      • 1970-01-01
      • 2016-11-03
      相关资源
      最近更新 更多