Code: Select all
<?php
function farsi_date() {
$week= array("یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه");
$months = array("فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند");
$d= date("w");
$day= Date("j");
$month = date("n");
$year= date("Y");
if ($year== 0){$year=2000;}
$y=1;
for($i=0;$i<3000;$i+=4) {
if ($year==$i) {$y=2;}
}
for($i=1;$i<3000;$i+=4) {
if ($year==$i) {$y=3;}
}
if ($y==1) {
$year=$year-621;
if (($month<3) || (($month==3) && ($day< 21))){$year= $year-1;}
switch ($month) {
case 1:
if ($day<21) {$month=10;$day=$day+10;} else {$month=11;$day=$day-20;}
break;
case 2:
if ($day<20) {$month=11;$day=$day+11;} else {$month=12;$day=$day-19;}
break;
case 3:
if ($day<21) {$month = 12;$day=$day+9;} else {$month=1;$day=$day-20;}
break;
case 4:
if ($day<21) {$month = 1;$day=$day+11;} else {$month=2;$day=$day-20;}
break;
case 5:
case 6:
if ($day<22) {$month = 3;$day=$day+10;} else {$month=4;$day=$day-21;}
break;
case 7:
case 8:
case 9:
if ($day<23) {$month = 6; $day=$day+9;} else {$month=7;$day=$day-22;}
break;
case 10:
if ($day<23) {$month = 7; $day=$day+8;} else {$month=8;$day=$day-22;}
break;
case 11:
case 12:
if ($day<22) {$month = 9;$day=$day+9;} else {$month=10;$day=$day-21;}
break;
default:
break;
}
}
if ($y==2) {
$year=$year-621;
if (($month<3) || (($month==3) && ($day< 20))){$year= $year-1;}
switch ($month) {
case 1:
if ($day<21) {$month=10;$day=$day+10;} else {$month=11;$day=$day-20;}
break;
case 2:
if ($day<20) {$month=11;$day=$day+11;} else {$month=12;$day=$day-19;}
break;
case 3:
if ($day<20) {$month=12; $day=$day+10;} else {$month=1;$day=$day-19;}
break;
case 4:
if ($day<20) {$month = 1;$day=$day+12;} else {$month=2;$day=$day-19;}
break;
case 5:
if ($day<21) {$month = 2;$day=$day+11;} else {$month=3;$day=$day-20;}
break;
case 6:
if ($day<21) {$month = 3;$day=$day+11;} else {$month=4;$day=$day-20;}
break;
case 7:
if ($day<22) {$month = 4;$day=$day+10;} else {$month=5;$day=$day-21;}
break;
case 8:
if ($day<22) {$month = 5;$day=$day+10;} else {$month=6;$day=$day-21;}
break;
case 9:
if ($day<22) {$month = 6;$day=$day+10;} else {$month=7;$day=$day-21;}
break;
case 10:
if ($day<22) {$month = 7; $day=$day+9;} else {$month=8;$day=$day-21;}
break;
case 11:
if ($day<21) {$month = 8;$day=$day+10;} else {$month=9;$day=$day-20;}
break;
case 12:
if ($day<21) {$month=9; $day=$day+10;} else {$month=10;$day=$day-20;}
break;
default:
break;
}
}
if ($y==3) {
$year=$year-621;
if (($month<3) || (($month==3) && ($day< 21))){$year= $year-1;}
switch ($month) {
case 1:
if ($day<20) {$month=10;$day=$day+11;} else {$month=11;$day=$day-19;}
break;
case 2:
if ($day<19) {$month=11;$day=$day+12;} else {$month=12;$day=$day-18;}
break;
case 3:
if ($day<21) {$month=12; $day=$day+10;} else {$month=1;$day=$day-20;}
break;
case 4:
if ($day<21) {$month = 1;$day=$day+11;} else {$month=2;$day=$day-20;}
break;
case 5:
case 6:
if ($day<22) {$month = 3;$day=$day+10;} else {$month=4;$day=$day-21;}
break;
case 7:
case 8:
case 9:
if ($day<23) {$month = 6; $day=$day+9;} else {$month=7;$day=$day-22;}
break;
case 10:
if ($day<23) {$month = 7; $day=$day+8;} else {$month=8;$day=$day-22;}
break;
case 11:
case 12:
if ($day<22) {$month = 9;$day=$day+9;} else {$month=10;$day=$day-21;}
break;
default:
break;
}
}
return array ($week[$d],$day,$months[$month-1],$year,$month);
}
?>
<HTML>
<HEAD>
<META content="Microsoft FrontPage 5.0" name=GENERATOR>
<meta name="author" content="vahid fakher ([email protected])">
<meta name="link" content="http://www.eeciran.com">
<META content="FrontPage.Editor.Document" name=ProgId>
<META http-equiv=Content-Type content="text/html; charset=utf-8"></HEAD>
<TITLE>تبدیل تاریخ میلادی به شمسی</TITLE>
</HEAD>
<BODY>
<TABLE align="center"><TR><TD>
<FONT face=tahoma size="2" color="#000000">
<?
list ($w,$d,$m,$y,$m_no)=farsi_date();
$fd=$w." ".$d."/".$m_no."/".$y;
echo $fd;
?>
</FONT>
</TD></TR></TABLE>
<TABLE align="center"><TR><TD>
<FONT face=tahoma size="2" color="#000000">
<?
list ($w,$d,$m,$y,$m_no)=farsi_date();
$fd=$w." ".$d." ".$m." ".$y;
echo $fd;
?>
</FONT>
</TD></TR></TABLE>
</BODY>
</HTML>