<?php
// includes/date_simple.php - تبدیل تاریخ با روش ساده

/**
 * تبدیل تاریخ میلادی به شمسی با روش ساده
 * ورودی: '2025-09-23' یا '2025-09-23 14:30:00'
 * خروجی: '1404/07/01'
 */
function simpleJalali($date, $format = 'Y/m/d') {
    if (empty($date)) {
        return '-';
    }
    
    // حذف زمان
    $dateParts = explode(' ', trim($date));
    $dateStr = $dateParts[0];
    
    // تجزیه تاریخ میلادی
    $parts = explode('-', $dateStr);
    if (count($parts) != 3) {
        return $dateStr;
    }
    
    $gy = (int)$parts[0];
    $gm = (int)$parts[1];
    $gd = (int)$parts[2];
    
    if ($gy < 1900 || $gy > 2100 || $gm < 1 || $gm > 12 || $gd < 1 || $gd > 31) {
        return $dateStr;
    }
    
    // ===== محاسبه تعداد روز از 1 فروردین 1300 =====
    // 1 فروردین 1300 = 22 مارس 1921
    
    // تعداد روزهای ماه‌های میلادی
    $g_d_m = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
    
    // تعداد روزهای ماه‌های شمسی
    $j_d_m = [0, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30];
    
    // محاسبه تعداد روز از اول سال میلادی
    $dayOfYear = $gd + $g_d_m[$gm - 1];
    
    // محاسبه تعداد روز از 22 مارس 1921
    $days = 0;
    
    // سال‌های کامل از 1921 تا سال مورد نظر
    for ($y = 1921; $y < $gy; $y++) {
        $days += 365;
        // سال کبیسه میلادی
        if (($y % 4 == 0 && $y % 100 != 0) || ($y % 400 == 0)) {
            $days++;
        }
    }
    
    // اضافه کردن روزهای سال جاری
    $days += $dayOfYear - 1; // -1 چون 22 مارس روز 0 محسوب می‌شود
    
    // ===== تبدیل به شمسی =====
    // هر 4 سال شمسی = 1461 روز
    $jz = (int)($days / 1461);
    $days %= 1461;
    
    $jy = 1300 + ($jz * 4);
    
    // محاسبه سال
    for ($i = 0; $i < 4; $i++) {
        $yearDays = 365;
        if ($i == 0) $yearDays = 366; // سال کبیسه شمسی
        if ($days < $yearDays) break;
        $days -= $yearDays;
        $jy++;
    }
    
    // محاسبه ماه و روز
    $jm = 1;
    for ($i = 0; $i < 12; $i++) {
        $monthDays = $j_d_m[$i];
        if ($i == 11 && ($jy % 4 == 0)) {
            $monthDays = 30; // ماه اسفند در سال کبیسه 30 روز است
        }
        if ($days < $monthDays) break;
        $days -= $monthDays;
        $jm++;
    }
    $jd = $days + 1;
    
    // ===== ساخت خروجی =====
    $output = '';
    for ($i = 0; $i < strlen($format); $i++) {
        $char = $format[$i];
        if ($char == 'Y') $output .= $jy;
        elseif ($char == 'y') $output .= substr($jy, -2);
        elseif ($char == 'm') $output .= str_pad($jm, 2, '0', STR_PAD_LEFT);
        elseif ($char == 'n') $output .= $jm;
        elseif ($char == 'd') $output .= str_pad($jd, 2, '0', STR_PAD_LEFT);
        elseif ($char == 'j') $output .= $jd;
        else $output .= $char;
    }
    return $output;
}
?>