我有一个类似于['Wednesday','Sunday','Monday']的天名数组,现在我想找到下一个可用的日期,这些日期与今天日期的数组相匹配。我要约会。我试了这么久,但都没有成功。下面给出了我的代码
$datesAvailable = array();
$count = 0;
$dateToday = Carbon::now()->toDateTimeString();
//$avlDays is the array of day names
$avlDays = DB::table('doctor_schedules')
->select('available_days')
->where('department',$receivedDepartment)
->Where('doctor_id', $receivedDoctor)
->get();
for($k=5; $k > 0; $k++)
{
$dateToday = $dateToday->endOfWeek();
// $parsedDate = Carbon::parse($dateToday);
$dateTodayFormated = new Carbon($dateToday);
$nextDayName = $dateTodayFormated->englishDayOfWeek;
for($i = 0; $i <= 2; $i++)
{
if($avlDays === $nextDayName)
{
$datesAvailable[$count] = $nextDayName;
$count++;
}
}
}
return (['availableDates' => $dateToday]);解决了
发布于 2019-09-18 15:05:02
发布于 2019-09-18 15:14:28
碳可以做到这一点。
foreach ($avlDays as $day) {
$nextDay = Carbon::parse("next $day");
// do something with $nextDay...
}发布于 2019-09-18 15:22:11
因此,假设$avlDays返回一个碳日期范围:
$avlDays = DB::table('doctor_schedules')
->select('available_days')
->where('department',$receivedDepartment)
->Where('doctor_id', $receivedDoctor)
->get()
->toArray();下面的代码假设来自['monday', 'tuesday' ...]的数组值被保存为$weekday。
如果您试图在某个工作日的范围内找到一个特定的日期,您可以这样做:
$availableAppointments = [];
foreach ($avlDays as $day) {
if ($day->isDayOfWeek($weekday)) {
$availableAppointments[] = $day;
}然后,您可以使用$availableAppointments列出一周的那一天的可用日期。
https://stackoverflow.com/questions/57995764
复制相似问题