gpt4 book ai didi

sql-server - 如何在 laravel 中格式化 sql server 的日期时间?

转载 作者:行者123 更新时间:2023-12-04 14:23:12 26 4
gpt4 key购买 nike

我试图在 laravel 中格式化日期时间值,使它们与 sql server 格式匹配,我收到此错误:

The separation symbol could not be found Unexpected data found. Unexpected data found. Trailing data

我在我的模型中使用自定义格式:

protected $dateFormat = 'd-m-Y H:i:s';

它适用于 Controller 的创建方法,没有问题,尝试更新时发生错误,我认为与值在数据库中的存储方式有关。

我使用 tinker 在我的模型中检索 updated_at 的值,并以下一种格式显示:

updated_at: "2018-07-24 09:14:09.000"

所以当我更新这个值时,使用的格式是:

protected $dateFormat = 'd-m-Y H:i:s';

我认为它应该类似于 d-m-Y H:i:s.000 但不起作用,我该如何解决?

最佳答案

当切换到 laravel 版本 5.6 时,我遇到了完全相同的问题。现在我找到了处理这个问题的正确方法。

像这样创建一个Base 类并添加一个public 方法getDateFormat。你返回的日期有点不同

return 'Y-d-m H:i:s.v';

看到日期 (d) 和月份 (m) 被切换了,最后你需要放一个 .v 代表毫秒。这对我很有用。在这里查看我完整的 Base 类:

<?php

namespace App\Models\Base;

use Illuminate\Database\Eloquent\Model;

class BaseModel extends Model
{
public function getDateFormat()
{
return 'Y-d-m H:i:s.v';
}

public $timestamps = false;
}

关于sql-server - 如何在 laravel 中格式化 sql server 的日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51502980/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com