$jm = $i+1;
$jd = $j_day_no+1;
- return array($jy, $jm, $jd);
+ return array($jy, $jm, $jd, $j_all_days);
}
// Gregorian to Jalali Convertor, by farsiweb.info
$g_m=date('n', $timestamp);
$g_y=date('Y', $timestamp);
- list($jy, $jm, $jd) = g2j($g_y, $g_m, $g_d);
+ list($jy, $jm, $jd, $j_all_days) = g2j($g_y, $g_m, $g_d);
$j_month_name = array('', 'فروردین', 'اردیبهشت', 'خرداد', 'تیر',
'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند');
'Fri' => '7');
// calculate string
- $percent_sign=0;
$output_str='';
for ($i=0; $i<strlen($format); $i++){
- switch($format[$i]){
- case 'a':
- if($percent_sign){ $output_str.=$j_week_name[date('D', $timestamp)]; $percent_sign=0; }
- break;
- case 'A':
- if($percent_sign){ $output_str.=$j_week_name[date('l', $timestamp)]; $percent_sign=0; }
- break;
- case 'b':
- case 'B':
- case 'h':
- if($percent_sign){ $output_str.=$j_month_name[$jm]; $percent_sign=0; }
- break;
- case 'c': // incomplete
- if($percent_sign){ /*$output_str.=$format[$i];*/ $percent_sign=0; }
- break;
- case 'C':
- if($percent_sign){ $output_str.=floor($jy/100); $percent_sign=0; }
- break;
- case 'd':
- if($percent_sign){ if($jd<10) $output_str.='0'.$jd; else $output_str.=$jd; $percent_sign=0; }
- break;
- case 'D':
- if($percent_sign){ $output_str.=$jm.'/'.$jd.'/'.$jy; $percent_sign=0; }
- break;
- case 'e':
- if($percent_sign){ if($jd<10) $output_str.=' '.$jd; else $output_str.=$jd; $percent_sign=0; }
- break;
- case 'H':
- if($percent_sign){ $output_str.=date('H', $timestamp); $percent_sign=0; }
- break;
- case 'I':
- if($percent_sign){ $output_str.=date('h', $timestamp); $percent_sign=0; }
- break;
- case 'j':
- if($percent_sign){ $output_str.=sprintf("%03d", $j_all_days); $percent_sign=0; }
- break;
- case 'm':
- if($percent_sign){ if($jm<10) $output_str.='0'.$jm; else $output_str.=$jm; $percent_sign=0; }
- break;
- case 'M':
- if($percent_sign){ $output_str.=date('i', $timestamp); $percent_sign=0; }
- break;
- case 'n':
- if($percent_sign){ $output_str.="\n"; $percent_sign=0; }
- break;
- case 'r':
- case 'p':
- if($percent_sign){ if(date('a',$need)=='pm') $output_str.='بعد از ظهر'; else $output_str.='قبل از ظهر'; $percent_sign=0; }
- break;
- case 'R': // incomplete
- if($percent_sign){ /*$output_str.=$format[$i];*/ $percent_sign=0; }
- break;
- case 'S':
- if($percent_sign){ $output_str.=date('s', $timestamp); $percent_sign=0; }
- break;
- case 't':
- if($percent_sign){ $output_str.="\t"; $percent_sign=0; }
- break;
- case 'u':
- case 'U':
- case 'V':
- case 'W':
- case 'w':
- if($percent_sign){ $output_str.=$j_week_number[date('D', $timestamp)]; $percent_sign=0; }
- break;
- case 'x': // incomplete
- if($percent_sign){ /*$output_str.=$format[$i];*/ $percent_sign=0; }
- break;
- case 'X': // incomplete
- if($percent_sign){ /*$output_str.=$format[$i];*/ $percent_sign=0; }
- break;
- case 'g':
- case 'y':
- if($percent_sign){ $output_str.=$jy-(floor($jy/100)*100); $percent_sign=0; }
- break;
- case 'G':
- case 'Y':
- if($percent_sign){ $output_str.=$jy; $percent_sign=0; }
- break;
- case 'z':
- case 'Z': // incomplete
- if($percent_sign){ /*$output_str.=$format[$i];*/ $percent_sign=0; }
- break;
- case '%':
- if($percent_sign){ $outpus_str.='%'; } else { $percent_sign=1; }
- break;
- default:
- $output_str.=$format[$i];
- $percent_sign=0;
+
+ if($format[$i]=='%'){
+ $i++;
+ switch($format[$i]){
+ case 'a':
+ $output_str.=$j_week_name[date('D', $timestamp)];
+ break;
+ case 'A':
+ $output_str.=$j_week_name[date('l', $timestamp)];
+ break;
+ case 'b':
+ case 'B':
+ case 'h':
+ $output_str.=$j_month_name[$jm];
+ break;
+ case 'c':
+ $output_str.=calendar_jalali_utf('%m/%d/%y %I:%M:%S', $timestamp);
+ break;
+ case 'C':
+ $output_str.=floor($jy/100);
+ break;
+ case 'd':
+ if($jd<10) $output_str.='0'.$jd; else $output_str.=$jd;
+ break;
+ case 'D':
+ $output_str.=$jm.'/'.$jd.'/'.$jy;
+ break;
+ case 'e':
+ if($jd<10) $output_str.=' '.$jd; else $output_str.=$jd;
+ break;
+ case 'H':
+ $output_str.=date('H', $timestamp);
+ break;
+ case 'I':
+ $output_str.=date('h', $timestamp);
+ break;
+ case 'j':
+ $output_str.=sprintf("%03d", $j_all_days);
+ break;
+ case 'm':
+ if($jm<10) $output_str.='0'.$jm; else $output_str.=$jm;
+ break;
+ case 'M':
+ $output_str.=date('i', $timestamp);
+ break;
+ case 'n':
+ $output_str.="\n";
+ break;
+ case 'r':
+ case 'p':
+ if(date('a',$timestamp)=='pm') $output_str.='بعد از ظهر'; else $output_str.='قبل از ظهر';
+ break;
+ case 'R':
+ $output_str.=strftime('%R', $timestamp);
+ break;
+ case 'S':
+ $output_str.=date('s', $timestamp);
+ break;
+ case 't':
+ $output_str.="\t";
+ break;
+ case 'U':
+ case 'V':
+ case 'W':
+ $output_str.=sprintf("%02d", floor(($j_all_days+1)/7));
+ break;
+ case 'u':
+ case 'w':
+ $output_str.=$j_week_number[date('D', $timestamp)];
+ break;
+ case 'x':
+ $output_str.=calendar_jalali_utf('%m/%d/%y', $timestamp);
+ break;
+ case 'X':
+ $output_str.=calendar_jalali_utf('%I:%M:%S', $timestamp);
+ break;
+ case 'g':
+ case 'y':
+ $output_str.=$jy-(floor($jy/100)*100);
+ break;
+ case 'G':
+ case 'Y':
+ $output_str.=$jy;
+ break;
+ case 'z':
+ case 'Z':
+ $output_str.=strftime('%z', $timestamp);
+ break;
+ case '%':
+ $outpus_str.='%';
+ break;
+ }
+ }else{
+ $output_str.=$format[$i];
}
}