Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在laravel中为日期添加分钟_Laravel_Time - Fatal编程技术网

如何在laravel中为日期添加分钟

如何在laravel中为日期添加分钟,laravel,time,Laravel,Time,使用PHP可以实现这一点的方法很少,但我无法找到使用laravel特定方法实现这一点的方法 我有一个来自数据库的时间,格式如下:Y:M:s ex:05:15:00 这就是我想做的: 根据上述示例,在该日期前再加30分钟,结果应为:05:45:00 以下是我的当前代码,我想在$endTime中添加30分钟: 通常我用,你可以试试 Date("Y:M:s", strtotime("30 minutes", strtotime($value->time)) 那就是把你的时间转换成一个字符串,加

使用PHP可以实现这一点的方法很少,但我无法找到使用laravel特定方法实现这一点的方法

我有一个来自数据库的时间,格式如下:Y:M:s

ex:05:15:00

这就是我想做的:

根据上述示例,在该日期前再加30分钟,结果应为:05:45:00

以下是我的当前代码,我想在$endTime中添加30分钟:

通常我用,你可以试试

Date("Y:M:s", strtotime("30 minutes", strtotime($value->time))
那就是把你的时间转换成一个字符串,加上30分钟,然后把它转换成你想要的日期格式,你可以试试

Date("Y:M:s", strtotime("30 minutes", strtotime($value->time))

这就是把你的时间转换成一个字符串,加上30分钟,然后把它转换成你想要的日期格式。我刚刚得到了一个完美的解决方案

使用扩展来简单地实现这一点

您需要做的是将您的时间解析为Carbon对象,然后您可以使用addMinutes进行解析,然后您可以根据需要设置格式:

foreach ($allocatedDateQuery as $value) {
    $time = Carbon::parse($value->time);
    $endTime = $time->addMinutes(30);
    $allocateValidateMessage .= Carbon::parse($value->time)->format('H:i') . ' - ' . $endTime->format('H:i') . '  ';
}

我刚得到一个完美的解决方案

使用扩展来简单地实现这一点

您需要做的是将您的时间解析为Carbon对象,然后您可以使用addMinutes进行解析,然后您可以根据需要设置格式:

foreach ($allocatedDateQuery as $value) {
    $time = Carbon::parse($value->time);
    $endTime = $time->addMinutes(30);
    $allocateValidateMessage .= Carbon::parse($value->time)->format('H:i') . ' - ' . $endTime->format('H:i') . '  ';
}

既然你说你是从数据库中抓取日期,我想你也在使用Eloquent从数据库中查询

您可以在数据库模式类中使用以下方法更改数据:

    public function getAppointmentsAttribute($value) {
        return Date("Y:M:s", strtotime("30 minutes", strtotime($value->time)));
    }

您甚至可以添加另一个属性,而无需使用属性指定来改变原始值。此方法缓存查询并减少数据库调用。因为您不需要在记录上运行本地循环,所以您的代码更干净。

因为您说要从数据库中获取日期,所以我假设您也在使用Eloquent从数据库中查询

您可以在数据库模式类中使用以下方法更改数据:

    public function getAppointmentsAttribute($value) {
        return Date("Y:M:s", strtotime("30 minutes", strtotime($value->time)));
    }

您甚至可以添加另一个属性,而无需使用属性指定来改变原始值。此方法缓存查询并减少数据库调用。因为您不需要在记录上运行本地循环,所以您的代码更干净。

请允许我建议使用ORM检索数据,例如AppointsMonts::where'date',$request->date->get。使用访问器来简化您的需求允许我建议您使用ORM来检索数据,例如AppointsMonts::where'date',$request->date->get。并使用访问器简化您的需求