如何在laravel中为日期添加分钟
使用PHP可以实现这一点的方法很少,但我无法找到使用laravel特定方法实现这一点的方法 我有一个来自数据库的时间,格式如下:Y:M:s ex:05:15:00 这就是我想做的: 根据上述示例,在该日期前再加30分钟,结果应为:05:45:00 以下是我的当前代码,我想在$endTime中添加30分钟: 通常我用,你可以试试如何在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)) 那就是把你的时间转换成一个字符串,加
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。并使用访问器简化您的需求