تبدیل تاریخ میلادی به شمسی در پنل وب زبیکس

اسفند 30, 1399zabbix , مانیتورینگ

به مسیر زیر رفته  و ابتدا از فایل func.inc.php بک آپ بگیرید

# cd /usr/share/zabbix/include/
# cp func.inc.php /opt/

حال این فایل را باز کرده و تغییرات زیر را در آن اعمال نمایید

# vim /usr/share/zabbix/include/func.inc.php

قبل از تابع zbx_date2str تابعی به نام gregorian_to_jalali که جهت تبدیل تاریخ میلادی به شمسی استفاده می شود را قرار دهید

function gregorian_to_jalali($part, $timestmp, $mod='')
{
  list($gy,$gm,$gd)=explode('-',date('Y-n-d',$timestmp));
  list($gho,$gmi,$gse)=explode(':',date('H:i:s',$timestmp));
  $g_d_m = array(0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334);
  if ($gy>1600){
          $jy=979;
          $gy-=1600;
  }
  else{
          $jy-0;
          $gy-=621;
  }
  $gy2 = ($gm > 2)? ($gy + 1) : $gy;
  $days = (365 * $gy) + ((int)(($gy2 + 3) / 4)) - ((int)(($gy2 + 99) / 100)) + ((int)(($gy2 + 399) / 400)) - 80 + $gd + $g_d_m[$gm - 1];
  $jy +=  (33 * ((int)($days / 12053)));
  $days %= 12053;
  $jy += 4 * ((int)($days / 1461));
  $days %= 1461;
  if ($days > 365) {
    $jy += (int)(($days - 1) / 365);
    $days = ($days - 1) % 365;
  }
  if ($days < 186) {
    $jm = 1 + (int)($days / 31);
    $jd = 1 + ($days % 31);
  }
  else{
    $jm = 7 + (int)(($days - 186) / 30);
    $jd = 1 + (($days - 186) % 30);
  }
   return ($mod=='')?array($jy,$jm,$jd):$jy.$mod.$jm.$mod.$jd.' '.$gho.':'.$gmi.':'.$gse;

}

سپس مطابق تصویر زیر خطوط 316 و 325 را کامنت نموده و خطوط 317 و 326  را جایگذین نمایید

با تشکر فراوان از حسن براری عزیز

 


پست های مرتبط


نظر (1)

tamiji
اسفند 26, 1400

با سلام
برای نسخه 6 زبیکس خطوط زیر وجود نداره .
” سپس مطابق تصویر زیر خطوط 316 و 325 را کامنت نموده و خطوط 317 و 326 را جایگذین نمایید ”
لطفا بی زحمت موارد رو برای نسخه های مختلف زبیکس اپدیت کنید .
مرسی


یک نظر ارسال کنید

ایمیل شما نزد ما امن می ماند