DEV Community

siamakabi
siamakabi

Posted on

Morilog Jalali laravel persian

<?php
require_once 'vendor/autoload.php';

use Morilog\Jalali\Jalalian;

// تاریخ شروع
$start_date = Jalalian::fromFormat('Y/m/d', '1402/01/01')->toCarbon();
// تاریخ پایان
$end_date = Jalalian::fromFormat('Y/m/d', '1402/01/31')->toCarbon();

// ساخت جدول
$table = "<table><thead><tr><th>روز هفته</th><th>تاریخ</th><th>نام روز</th></tr></thead><tbody>";

// حلقه برای گرفتن تاریخ‌های بین دو تاریخ شمسی
while ($start_date <= $end_date) {
    // تبدیل تاریخ میلادی به شمسی
    $jdate = Jalalian::fromCarbon($start_date);
    // اضافه کردن سطر به جدول
    $table .= "<tr><td>" . $jdate->getDayOfWeek() . "</td><td>" . $jdate->format('Y/m/d') . "</td><td>" . getDayName($jdate->getDayOfWeek()) . "</td></tr>";
    // افزایش تاریخ به روز بعدی
    $start_date->addDay();
}

// بستن جدول
$table .= "</tbody></table>";

echo $table;

function getDayName($day_of_week){
    switch ($day_of_week){
        case 0:
            return 'شنبه';
        case 1:
            return 'یک‌شنبه';
        case 2:
            return 'دوشنبه';
        case 3:
            return 'سه‌شنبه';
        case 4:
            return 'چهارشنبه';
        case 5:
            return 'پنج‌شنبه';
        case 6:
            return 'جمعه';
    }
}
?>
Enter fullscreen mode Exit fullscreen mode

منبع

Top comments (0)