$start = Carbon::now($this->company()->time_zone)->firstOfMonth(); $end = Carbon::now($this->company()->time_zone)->lastOfMonth(); $startDate = $start->dayOfWeek; $endDate = $end->dayOfWeek; $number_of_week = $end->weekNumberInMonth; $weeks = []; $i = 1; for ($w = 1; $w <= $number_of_week; $w++) { for ($d = 0; $d <= 6; $d++) { if ($w == 1 && $d < $startDate) { $weeks[$w][$d] = ''; } else { if ($w == $number_of_week + 1 && $d > $endDate) { $weeks[$w][$d] = ''; } else { $weeks[$w][$d] = $i; $i++; } } } }
function numberOfWeeks(Carbon $start, Carbon $end) { $firstDayWeek = $start->dayOfWeek; $lastDayWeek = $end->dayOfWeek; $totalDay = $start->diffInDays($end) + 1; $prefixWeek = 4; switch ($totalDay) { case 28: $offset = ($firstDayWeek - 1) - 1; $diffDays = ($lastDayWeek - $offset); if ($lastDayWeek > $totalDay) { $diffDays = 0; } $totalWeeks = ($prefixWeek + $diffDays); break; case 29: $offset = ($firstDayWeek - 1) - 1; $diffDays = ($lastDayWeek - $offset); $totalWeeks = ($prefixWeek + $diffDays); break; case 30: $offset = ($firstDayWeek - 1) + 1; $diffDays = ($lastDayWeek - $offset); if ($lastDayWeek < $firstDayWeek) { $diffDays = 2; } $totalWeeks = ($prefixWeek + $diffDays); break; case 31: $offset = ($firstDayWeek - 1) + 2; $diffDays = ($lastDayWeek - $offset); if ($lastDayWeek < $firstDayWeek) { $diffDays = 2; } $totalWeeks = ($prefixWeek + $diffDays); break; default: return false; } return $totalWeeks; }
$days = CarbonPeriod::between(Carbon::now()->startOfMonth(), Carbon::now()->endOfMonth()); $shift_days = array_fill(0, Carbon::now()->startOfMonth()->dayOfWeek, ''); array_merge($shift_days, $days->toArray());
เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง