gpt4 book ai didi

php - 设置一天结束而不是 00 :00:00 in laravel

转载 作者:行者123 更新时间:2023-12-03 16:04:08 24 4
gpt4 key购买 nike

当我们传递这样的日期值时 2019-01-01没有时间10:00:00 ,时间默认为 00:00:00 .所以最后 db 兼容值被转换成这样:2019-01-01 00:00:00 .如何强制默认为 23:59:00反而?

示例:我需要设置一个 expiry_date属性,但如果我只输入日期 2019-01-08来自用户,用户将假设他们将一整天作为到期日,而实际上它将在 2019-01-08 的第一秒到期。由于隐式默认时间 00:00:00 .

我如何克服这个问题?如何为 expiry_date 设置一个mutator那会变成这个 2019-01-01 00:00:00进入此 2019-01-01 23:59:00 ?

最佳答案

只需使用以下内容:

$expiryDate = Carbon::createFromFormat('Y-m-d', $date)->endOfDay()->toDateTimeString();

这将获取日期(如果需要,更新日期格式),切换到一天结束并将结果对象转换为日期时间字符串。

或者,将其用作属性 setter :
/**
* @param $value
*/
public function setExpiryDateAttribute($value)
{
$this->attributes['expiry_date'] = Carbon::createFromFormat('Y-m-d', $value)
->endOfDay()
->toDateTimeString();
}

关于php - 设置一天结束而不是 00 :00:00 in laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54086182/

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