it is the result!!! Now = getdate(time()+TIMESEED*60); else $this->Now = getdate(($mode? $dd:strtotime($dd))); $this->Now["fyday"] = ($this->Now["yday"]+287)%365; if($this->Now["fyday"]==0) $this->Now["fyday"] = 365; } function getFarsiDate($mode, $fa=true, $echo=true) { $varStr = ""; switch($mode) { case 1: $varStr = $this->getDate()." ".$this->getMonth(true)." ".$this->getYear(); break; case 2: $varStr = $this->getDate($fa) ."/". $this->getMonth(false, $fa) . "/". $this->getYear($fa); break; case 3: $varStr = $this->getDay()." ".$this->getDate()." ".$this->getMonth(true)." ".$this->getYear(); break; case 4: $varStr = $this->getYear(false).str_pad($this->getMonth(false, false), 2, "0", STR_PAD_LEFT).str_pad($this->getDate(false), 2, "0", STR_PAD_LEFT); break; } if($echo) echo $varStr; else return $varStr; } function Num2Fa($num) { $repPat = array("1"=>"Ù","2"=>"Ù","3"=>"Ù","4"=>"Ù","5"=>"Ù","6"=>"Ù","7"=>"Ù","8"=>"Ù","9"=>"Ù","0"=>"Ù"); return strtr((string)$num, $repPat); } function getDay($trans=true) { return $trans? ($this->Days[$this->Now['wday']]):($this->Now['wday']+1)%7; } function getDate($trans=true) { $md = 31; $dd = $this->Now["fyday"]; if($dd>186) { $md = 30; $dd -= 186; } $Day = $dd%$md; if($Day==0) $Day = $md; return $trans? $this->Num2Fa($Day):$Day; } function getMonth($tr=false, $tr2=true) { $Month = 0; $md = 31; $dd = $this->Now["fyday"]; if($dd>186) { $md = 30; $dd -= 186; $Month += 6; } $Month += ceil($dd/$md); return (($tr)? $this->Months[$Month-1]:($tr2? $this->Num2Fa($Month):$Month)); } function getYear($trans=true) { $year = $this->Now["year"] - ($this->Now["yday"]>79? 621:622); return $trans? $this->Num2Fa($year):$year; } } ?>