آژانس هواپیمایی
pop up

تاریخ هجری خورشیدی با پی اچ پی / با سال کبیسه و بصورت فان

شروع موضوع توسط drhaniball ‏22 مارس 2003 در انجمن PHP

  1. drhaniball

    drhaniball کاربر تازه وارد

    تاریخ عضویت:
    ‏22 مارس 2003
    نوشته ها:
    13
    تشکر شده:
    1
    www.rtmtrading.com/convert.php
     
  2. alpha

    alpha کاربر تازه وارد

    تاریخ عضویت:
    ‏20 دسامبر 2002
    نوشته ها:
    334
    تشکر شده:
    1
    سلام
    فكر نمي كنم تو يه صفحعه وب اين كار فايده اي داشته باشه . اگه مي خواي مردم استفاده كنند . بايد تابع يا سورسش رو بذاري .
    مرسي و موفق باشي
     
  3. ehsan

    ehsan Administrator

    تاریخ عضویت:
    ‏5 دسامبر 2002
    نوشته ها:
    7,915
    تشکر شده:
    3,507
    محل سکونت:
    Internet
  4. drhaniball

    drhaniball کاربر تازه وارد

    تاریخ عضویت:
    ‏22 مارس 2003
    نوشته ها:
    13
    تشکر شده:
    1
    [code:1]<?php



    if ($con_ejra)

    {

    $con_pat="^[0-9]{4}";

    if (ereg ($con_pat,$con_year)) print (""); else

    {

    print ("Insert Valid Year (only digit)<br>")&#59;

    echo "<A href="convert.php"> NEW !</A>"&#59;

    exit;

    }

    $con_ar_mah[1]=" فروردين ";

    $con_ar_mah[2]=" ارديبهشت ";

    $con_ar_mah[3]=" خرداد ";

    $con_ar_mah[4]=" تير";

    $con_ar_mah[5]=" مرداد";

    $con_ar_mah[6]=" شهريور";

    $con_ar_mah[7]=" مهر";

    $con_ar_mah[8]=" آبان";

    $con_ar_mah[9]=" اذر";

    $con_ar_mah[10]=" دي";

    $con_ar_mah[11]=" بهمن";

    $con_ar_mah[12]=" اسفند";



    $con_ar_hafte[0]=" يکشنبه& ";

    $con_ar_hafte[1]=" دوشنبه& ";

    $con_ar_hafte[2]=" سه شنبه& ";

    $con_ar_hafte[3]=" چهارشنبه& ";

    $con_ar_hafte[4]=" پنج شنبه& ";

    $con_ar_hafte[5]=" جهمعه& ";

    $con_ar_hafte[6]=" شنبه& ";





    $con_ar_rooz[1]=" اول ";

    $con_ar_rooz[2]=" دوم ";

    $con_ar_rooz[3]=" سوم";

    $con_ar_rooz[4]=" چهارم ";

    $con_ar_rooz[5]=" پنجم ";

    $con_ar_rooz[6]=" ششم ";

    $con_ar_rooz[7]=" هفتم ";

    $con_ar_rooz[8]=" هشتم ";

    $con_ar_rooz[9]=" نهم";

    $con_ar_rooz[10]=" دهم ";

    $con_ar_rooz[11]=" يازدهم ";

    $con_ar_rooz[12]=" دوازدهم ";

    $con_ar_rooz[13]=" سيزدهم ";

    $con_ar_rooz[14]=" چهاردهم ";

    $con_ar_rooz[15]=" پانزدهم ";

    $con_ar_rooz[16]=" شانزدهم ";

    $con_ar_rooz[17]=" هفدهم ";

    $con_ar_rooz[18]=" هجدهم ";

    $con_ar_rooz[19]=" نوزدهم ";

    $con_ar_rooz[20]=" بيستم ";

    $con_ar_rooz[21]=" بيست و يکم ";

    $con_ar_rooz[22]=" بيست ودوم";

    $con_ar_rooz[23]=" بيست وسوم ";

    $con_ar_rooz[24]=" بيست وچهارم ";

    $con_ar_rooz[25]=" بيست وپنجم ";

    $con_ar_rooz[26]=" بيست وششم ";

    $con_ar_rooz[27]=" بيست وهفتم ";

    $con_ar_rooz[28]=" بيست وهشتم ";

    $con_ar_rooz[29]=" بيست ونهم ";

    $con_ar_rooz[30]=" سي ام  ";

    $con_ar_rooz[31]=" سي و يکم ";



    $con_mah_31=array(1,3,5,7,8,10,12);

    $con_mah_30=array(4,6,9,11);

    $con_mah_28=array(2);







    { // mah



    foreach ($con_mah_31 as $con_val ) if ($con_mon==$con_val) {  $con_wm=31&#59;}

    foreach ($con_mah_30 as $con_val ) if ($con_mon==$con_val) {  $con_wm=30; }

    foreach ($con_mah_28 as $con_val ) if ($con_mon==$con_val) {  $con_wm=28; }



    $con_leap=($con_year)%4;



    if ($con_leap==0 and $con_mon==2) $con_wm=29;

    if ($con_leap==0 )$con_x=1; else $con_x=0;

    if ($con_leap==1 )$con_y=1; else $con_y=0;



    { //rooz



    if (($con_mon>=1)and($con_mon<=3) ) $con_sal=$con_year-622; else $con_sal=$con_year-621;



    if ( ( ($con_wm==30) and( $con_day>30) ) or ( ($con_wm==28) and ($con_day>28) ) or ( ($con_wm==29) and ($con_day>29) ) )

    {

    print (" DATE INVAALID !<br>");

    echo "<A href="convert.php"> NEW !</A>"&#59;

    exit&#59;

    }
    &#59;



    //mah





    switch ($con_mon){



    case "1" :

    if ($con_day<=(20-$con_y)) {$con_rooz=$con_day+10+$con_y; $con_mah=10; } else { $con_rooz=$con_day-((20-$con_y)); $con_mah=11;}

    break;



    case "2" :

    if ($con_day<=(19-$con_y)) {$con_rooz=$con_day+11+$con_y; $con_mah=11; } else { $con_rooz=$con_day-((19-$con_y)); $con_mah=12;}

    break;



    case "3" :

    if ($con_day<=(20)) {$con_rooz=$con_day+9+$con_y; $con_mah=12; } else { $con_rooz=$con_day-((20)); $con_mah=1; $con_sal=$con_sal+1;}//20 bood

    break;



    case "4" :

    if ($con_day<=(20-$con_x)) {$con_rooz=$con_day+11+$con_x; $con_mah=1; } else { $con_rooz=$con_day-((20-$con_x)); $con_mah=2;}

    break;



    case "5" :

    if ($con_day<=(21-$con_x)) {$con_rooz=$con_day+10+$con_x; $con_mah=2; } else { $con_rooz=$con_day-((21-$con_x)); $con_mah=3;}



    break;



    case "6" :

    if ($con_day<=(21-$con_x)) {$con_rooz=$con_day+10+$con_x; $con_mah=3; } else { $con_rooz=$con_day-((21-$con_x)); $con_mah=4;}

    break;



    case "7" :

    if ($con_day<=(22-$con_x)) {$con_rooz=$con_day+9+$con_x; $con_mah=4; } else { $con_rooz=$con_day-((22-$con_x)); $con_mah=5;}

    break;



    case "8" :

    if ($con_day<=(22-$con_x)) {$con_rooz=$con_day+9+$con_x; $con_mah=5; } else { $con_rooz=$con_day-((22-$con_x)); $con_mah=6;}

    break;



    case "9" :

    if ($con_day<=(22-$con_x)) {$con_rooz=$con_day+9+$con_x; $con_mah=6; } else { $con_rooz=$con_day-((22-$con_x)); $con_mah=7;}

    break;



    case "10" :

    if ($con_day<=(22-$con_x)) {$con_rooz=$con_day+8+$con_x; $con_mah=7; } else { $con_rooz=$con_day-((22-$con_x)); $con_mah=8;}

    break;



    case "11" :

    if ($con_day<=(21-$con_x)) {$con_rooz=$con_day+9+$con_x; $con_mah=8; } else { $con_rooz=$con_day-((21-$con_x)); $con_mah=9;}

    break;



    case "12" :

    if ($con_day<=(21-$con_x)) {$con_rooz=$con_day+9+$con_x; $con_mah=9; } else { $con_rooz=$con_day-((21-$con_x)); $con_mah=10;}

    break;



    }

    //----------------------------------



    for ($con_i=1&#59; $con_i<=100&#59; $con_i++)

    {



    $con_k=strlen($con_sal);



    for ($con_t=-1&#59; $con_t>=-$con_k&#59; $con_t--)

    {

    $con_c[$con_t]=substr($con_sal,$con_t,1);

    }



    $con_yek[1]="يک هزار";

    $con_yek[2]="دو هزار";

    $con_yek[3]="سه هزار";





    $con_dow[1]="صد";

    $con_dow[2]="دويست";

    $con_dow[3]="سيصد";

    $con_dow[4]="چهارصد";

    $con_dow[5]="پانصد";

    $con_dow[6]="ششصد";

    $con_dow[7]="هفتصد";

    $con_dow[8]="هشتصد";

    $con_dow[9]="نهصد";



    $con_se[1]="ده";

    $con_se[2]="بيست";

    $con_se[3]="سي";

    $con_se[4]="چهل";

    $con_se[5]="پنجاه";

    $con_se[6]="شصت";

    $con_se[7]="هفتاد";

    $con_se[8]="هشتاد";

    $con_se[9]="نود";





    $con_char[1]="يک";

    $con_char[2]="دو";

    $con_char[3]="سه";

    $con_char[4]="چهار";

    $con_char[5]="پنج";

    $con_char[6]="شش";

    $con_char[7]="هفت";

    $con_char[8]="هشت";

    $con_char[9]="نه";

    $con_hezargan=($con_c[-4]);

    $con_sadgan=($con_c[-3]);

    $con_dahgan=($con_c[-2]);

    $con_yekgan=($con_c[-1]);



    if ($con_dahgan==1) switch ($con_yekgan)

    {

    case (1):

    $con_char[1]="ده";

    $con_se[1]="ياز";

    break;



    case (2):

    $con_char[2]="ده";

    $con_se[1]="دواز";

    break;



    case (3):

    $con_char[3]="ده";

    $con_se[1]="سيز";

    break;



    case (4):

    $con_char[4]="ده";

    $con_se[1]="چهار";

    break;



    case (5):

    $con_char[5]="ده";

    $con_se[1]="پانز";

    break;



    case (6):

    $con_char[6]="ده";

    $con_se[1]="شانز";

    break;



    case (7):

    $con_char[7]="ده";

    $con_se[1]="هفت";

    break;



    case (8):

    $con_char[8]="ده";

    $con_se[1]="هج";

    break;



    case (9):

    $con_char[9]="ده";

    $con_se[1]="نوز";

    break;



    }

    $con_va=" ";



    }



    $con_mmm="$con_yek[$con_hezargan]$con_va$con_dow[$con_sadgan]$con_va$con_se[$con_dahgan]$con_va$con_char[$con_yekgan]";



    print (" $con_year/$con_mon  /$con_day<br>");

    print (" Hijiry Farsi Is : <b> ( $con_sal/$con_mah/$con_rooz )</b>");

    print (" $con_ar_rooz[$con_rooz] $con_ar_mah[$con_mah] $con_mmm<br>");

    print "<br>";

    echo "<A href="convert.php"> NEW !</A><br>"&#59;

    print "<br>";

    print "<br>";

    Print " Powered By : <A href="mailto:[email protected]"> Ali Bakhtari </a>"&#59;

    } //rooz





    } // mah





    }

    // sal



    else

    {

    ?>

    <FORM  action=convert.php method="post">

    <p><b><i>Calendar Convert Miladi To Hijiri Farsi </b></i></p>

    <p> Year :

    <INPUT TYPE="TEXT"  name="con_year" value="1973">

    <SELECT  name="con_mon">

    <OPTION value="1">Jan</OPTION>

    <OPTION value="2">Feb</OPTION>

    <OPTION value="3">Mar</OPTION>

    <OPTION value="4">Apr</OPTION>

    <OPTION value="5">May</OPTION>

    <OPTION value="6">Jun</OPTION>

    <OPTION value="7">Jul</OPTION>

    <OPTION value="8">Agu  </OPTION>

    <OPTION value="9">Sep</OPTION>

    <OPTION Selected value="10">Oct</OPTION>

    <OPTION value="11">Nov</OPTION>

    <OPTION value="12">Dec</OPTION>

    </SELECT>



    <SELECT  name="con_day">

    <OPTION value="1">01</OPTION>

    <OPTION value="2">02</OPTION>

    <OPTION value="3">03</OPTION>

    <OPTION value="4">04</OPTION>

    <OPTION value="5">05</OPTION>

    <OPTION value="6">06</OPTION>

    <OPTION value="7">07</OPTION>

    <OPTION value="8">08</OPTION>

    <OPTION value="9">09</OPTION>

    <OPTION value="10">10</OPTION>

    <OPTION value="11">11</OPTION>

    <OPTION value="12">12</OPTION>

    <OPTION value="13">13</OPTION>

    <OPTION value="14">14</OPTION>

    <OPTION value="15">15</OPTION>

    <OPTION value="16">16</OPTION>

    <OPTION value="17">17</OPTION>

    <OPTION value="18">18</OPTION>

    <OPTION  value="19">19</OPTION>

    <OPTION value="20">20</OPTION>

    <OPTION value="21">21</OPTION>

    <OPTION value="22">22</OPTION>

    <OPTION value="23">23</OPTION>

    <OPTION value="24">24</OPTION>

    <OPTION value="25">25</OPTION>

    <OPTION value="26">26</OPTION>

    <OPTION Selected value="27">27</OPTION>

    <OPTION value="28">28</OPTION>

    <OPTION value="29">29</OPTION>

    <OPTION value="30">30</OPTION>

    <OPTION value="31">31</OPTION> </p>

    <p>

    <INPUT TYPE="SUBMIT" name="SUBMIT" value=" Convert !">

    <INPUT TYPE="hidden" name="con_ejra" value="TRUE">



    </FORM>

    <?

    }[/code:1]
     
  5. alpha

    alpha کاربر تازه وارد

    تاریخ عضویت:
    ‏20 دسامبر 2002
    نوشته ها:
    334
    تشکر شده:
    1
    سلام
    ممنون ولي حالا كه شما اين زحمت رو كشيدي . لا اقل اين كد ها رو تو تگ كد بزار كه درست ديده بشن . براي اينكار بايد دكمه Edit رو بزني و همه رو انتخاب كني و بالاي اديترو دكمه code رو بزني

    بازم ممنون و موفق باشي
     
  6. drhaniball

    drhaniball کاربر تازه وارد

    تاریخ عضویت:
    ‏22 مارس 2003
    نوشته ها:
    13
    تشکر شده:
    1
    كردم منتها ظاهرا نشد همه چيز را هم ديزيبل !! كردم
     
  7. boxilink
  8. weblogger

    weblogger Registered User

    تاریخ عضویت:
    ‏24 دسامبر 2002
    نوشته ها:
    506
    تشکر شده:
    6
    سلام ببين اين رو اگه با آرايه مي نوشتي بهتر نبودش؟ خيلي طولاني شده ها :idea:
     
  9. drhaniball

    drhaniball کاربر تازه وارد

    تاریخ عضویت:
    ‏22 مارس 2003
    نوشته ها:
    13
    تشکر شده:
    1
    سلام
    چرا من خيلي جاها بجاي اين از يك حلقه فور !!!استفاده ميكنم و خلاص . اما اين را از يك جاي كش رفتم !!
    برنامه هاي من هيچ كدوم بهينه شده نيست . فقط كار راه بيانداز است . چون وقتم كمه !!

    [/code]
     
    Leon 2008 از این نوشته تشکر کرده است.
  10. ehsan

    ehsan Administrator

    تاریخ عضویت:
    ‏5 دسامبر 2002
    نوشته ها:
    7,915
    تشکر شده:
    3,507
    محل سکونت:
    Internet
    ممنون دكتر هانيبال جان!!
    من مطالب تو و وبلاگر رو اديت كردم. وقتي از code استفاده ميکني ديگه دکمه bbcode رو نبايد که disable کني... حالا بيخيال.

    در ضمن اين حجمش خيلي زياده و بايد حتما به صورت يه تابع (حتي به نظر من به صورت يه فايل که include بشه) استفاده کرد.
     
  11. weblogger

    weblogger Registered User

    تاریخ عضویت:
    ‏24 دسامبر 2002
    نوشته ها:
    506
    تشکر شده:
    6
    من وقت كنم يه دونه خوبش رو مي گذارم كه ملت هم استفاده كنند اصلش هم مال فاريوب دات اينفو هستش فقط يه دستكاري توش انجام دادم
     
  12. alpha

    alpha کاربر تازه وارد

    تاریخ عضویت:
    ‏20 دسامبر 2002
    نوشته ها:
    334
    تشکر شده:
    1
    سلام
    با اينكه به نظر من هم يك تابع بهتره ولي اينطوري هم خيلي عاليه و هركس بخواد مي تونه خودش تابع كنه .
    دستت درد نكنه .
     
  13. drhaniball

    drhaniball کاربر تازه وارد

    تاریخ عضویت:
    ‏22 مارس 2003
    نوشته ها:
    13
    تشکر شده:
    1
    [code:1]

    <?php

    function convert($con_year,$con_mon,$con_day)

    {

    $con_week=date("w",mktime(0,0,0,$con_mon,$con_day,$con_year));

    $con_ar_mah[1]=" فروردين ";

    $con_ar_mah[2]=" ارديبهشت ";

    $con_ar_mah[3]=" خرداد ";

    $con_ar_mah[4]=" تير";

    $con_ar_mah[5]=" مرداد";

    $con_ar_mah[6]=" شهريور";

    $con_ar_mah[7]=" مهر";

    $con_ar_mah[8]=" آبان";

    $con_ar_mah[9]=" اذر";

    $con_ar_mah[10]=" دي";

    $con_ar_mah[11]=" بهمن";

    $con_ar_mah[12]=" اسفند";



    $con_ar_hafte[0]=" يکشنبه& ";

    $con_ar_hafte[1]=" دوشنبه& ";

    $con_ar_hafte[2]=" سه شنبه& ";

    $con_ar_hafte[3]=" چهارشنبه& ";

    $con_ar_hafte[4]=" پنج شنبه& ";

    $con_ar_hafte[5]=" جمعه& ";

    $con_ar_hafte[6]=" شنبه& ";





    $con_ar_rooz[1]=" اول ";

    $con_ar_rooz[2]=" دوم ";

    $con_ar_rooz[3]=" سوم";

    $con_ar_rooz[4]=" چهارم ";

    $con_ar_rooz[5]=" پنجم ";

    $con_ar_rooz[6]=" ششم ";

    $con_ar_rooz[7]=" هفتم ";

    $con_ar_rooz[8]=" هشتم ";

    $con_ar_rooz[9]=" نهم";

    $con_ar_rooz[10]=" دهم ";

    $con_ar_rooz[11]=" يازدهم ";

    $con_ar_rooz[12]=" دوازدهم ";

    $con_ar_rooz[13]=" سيزدهم ";

    $con_ar_rooz[14]=" چهاردهم ";

    $con_ar_rooz[15]=" پانزدهم ";

    $con_ar_rooz[16]=" شانزدهم ";

    $con_ar_rooz[17]=" هفدهم ";

    $con_ar_rooz[18]=" هجدهم ";

    $con_ar_rooz[19]=" نوزدهم ";

    $con_ar_rooz[20]=" بيستم ";

    $con_ar_rooz[21]=" بيست و يکم ";

    $con_ar_rooz[22]=" بيست ودوم";

    $con_ar_rooz[23]=" بيست وسوم ";

    $con_ar_rooz[24]=" بيست وچهارم ";

    $con_ar_rooz[25]=" بيست وپنجم ";

    $con_ar_rooz[26]=" بيست وششم ";

    $con_ar_rooz[27]=" بيست وهفتم ";

    $con_ar_rooz[28]=" بيست وهشتم ";

    $con_ar_rooz[29]=" بيست ونهم ";

    $con_ar_rooz[30]=" سي ام  ";

    $con_ar_rooz[31]=" سي و يکم ";



    $con_mah_31=array(1,3,5,7,8,10,12);

    $con_mah_30=array(4,6,9,11);

    $con_mah_28=array(2);







    { // mah



    foreach ($con_mah_31 as $con_val ) if ($con_mon==$con_val) {  $con_wm=31&#59;}

    foreach ($con_mah_30 as $con_val ) if ($con_mon==$con_val) {  $con_wm=30; }

    foreach ($con_mah_28 as $con_val ) if ($con_mon==$con_val) {  $con_wm=28; }



    $con_leap=($con_year)%4;



    if ($con_year%4==1) $con_kab=1; else $con_kab=0;



    if ($con_leap==0 and $con_mon==2) $con_wm=29;

    if ($con_leap==0 )$con_x=1; else $con_x=0;

    if ($con_leap==1 )$con_y=1; else $con_y=0;



    { //rooz



    if (($con_mon>=1)and($con_mon<=3) ) $con_sal=$con_year-622; else $con_sal=$con_year-621;



    if ( ( ($con_wm==30) and( $con_day>30) ) or ( ($con_wm==28) and ($con_day>28) ) or ( ($con_wm==29) and ($con_day>29) ) )

    {

    print (" DATE INVAALID !<br>");

    echo "<A href="convert.php"> NEW !</A>"&#59;

    exit&#59;

    }
    &#59;



    //mah





    switch ($con_mon){



    case "1" :

    if ($con_day<=(20-$con_y)) {$con_rooz=$con_day+10+$con_y; $con_mah=10; } else { $con_rooz=$con_day-((20-$con_y)); $con_mah=11;}

    $first=mktime(0,0,0,$con_mon,21,$con_year);

    $first_day=date("w",$first);



    break;



    case "2" :

    if ($con_day<=(19-$con_y)) {$con_rooz=$con_day+11+$con_y; $con_mah=11; } else { $con_rooz=$con_day-((19-$con_y)); $con_mah=12;}

    $first=mktime(0,0,0,$con_mon,20,$con_year);

    $first_day=date("w",$first);



    break;



    case "3" :

    if ($con_day<=(20)) {$con_rooz=$con_day+9+$con_y; $con_mah=12; } else { $con_rooz=$con_day-((20)); $con_mah=1; $con_sal=$con_sal+1;}//20 bood

    $first=mktime(0,0,0,$con_mon,21,$con_year);

    $first_day=date("w",$first);

    break;



    case "4" :

    if ($con_day<=(20-$con_x)) {$con_rooz=$con_day+11+$con_x; $con_mah=1; } else { $con_rooz=$con_day-((20-$con_x)); $con_mah=2;}

    $first=mktime(0,0,0,$con_mon,21,$con_year);

    $first_day=date("w",$first);

    break;



    case "5" :

    if ($con_day<=(21-$con_x)) {$con_rooz=$con_day+10+$con_x; $con_mah=2; } else { $con_rooz=$con_day-((21-$con_x)); $con_mah=3;}

    $first=mktime(0,0,0,$con_mon,22,$con_year);

    $first_day=date("w",$first);

    break;



    case "6" :

    if ($con_day<=(21-$con_x)) {$con_rooz=$con_day+10+$con_x; $con_mah=3; } else { $con_rooz=$con_day-((21-$con_x)); $con_mah=4;}

    $first=mktime(0,0,0,$con_mon,22,$con_year);

    $first_day=date("w",$first);

    break;



    case "7" :

    if ($con_day<=(22-$con_x)) {$con_rooz=$con_day+9+$con_x; $con_mah=4; } else { $con_rooz=$con_day-((22-$con_x)); $con_mah=5;}

    $first=mktime(0,0,0,$con_mon,23,$con_year);

    $first_day=date("w",$first);

    break;



    case "8" :

    if ($con_day<=(22-$con_x)) {$con_rooz=$con_day+9+$con_x; $con_mah=5; } else { $con_rooz=$con_day-((22-$con_x)); $con_mah=6;}

    $first=mktime(0,0,0,$con_mon,23,$con_year);

    $first_day=date("w",$first);

    break;



    case "9" :

    if ($con_day<=(22-$con_x)) {$con_rooz=$con_day+9+$con_x; $con_mah=6; } else { $con_rooz=$con_day-((22-$con_x)); $con_mah=7;}

    $first=mktime(0,0,0,$con_mon,23,$con_year);

    $first_day=date("w",$first);

    break;





    case "10" :

    if ($con_day<=(22-$con_x)) {$con_rooz=$con_day+8+$con_x; $con_mah=7; } else { $con_rooz=$con_day-((22-$con_x)); $con_mah=8;}

    $first=mktime(0,0,0,$con_mon,23,$con_year);

    $first_day=date("w",$first);

    break;





    case "11" :

    if ($con_day<=(21-$con_x)) {$con_rooz=$con_day+9+$con_x; $con_mah=8; } else { $con_rooz=$con_day-((21-$con_x)); $con_mah=9;}

    $first=mktime(0,0,0,$con_mon,22,$con_year);

    $first_day=date("w",$first);

    break;



    case "12" :

    if ($con_day<=(21-$con_x)) {$con_rooz=$con_day+9+$con_x; $con_mah=9; } else { $con_rooz=$con_day-((21-$con_x)); $con_mah=10;}

    $first=mktime(0,0,0,$con_mon,22,$con_year);

    $first_day=date("w",$first);

    break;



    }

    //----------------------------------



    for ($con_i=1&#59; $con_i<=100&#59; $con_i++)

    {



    $con_k=strlen($con_sal);



    for ($con_t=-1&#59; $con_t>=-$con_k&#59; $con_t--)

    {

    $con_c[$con_t]=substr($con_sal,$con_t,1);

    }



    $con_yek[1]="يک هزار";

    $con_yek[2]="دو هزار";

    $con_yek[3]="سه هزار";





    $con_dow[1]="صد";

    $con_dow[2]="دويست";

    $con_dow[3]="سيصد";

    $con_dow[4]="چهارصد";

    $con_dow[5]="پانصد";

    $con_dow[6]="ششصد";

    $con_dow[7]="هفتصد";

    $con_dow[8]="هشتصد";

    $con_dow[9]="نهصد";



    $con_se[1]="ده";

    $con_se[2]="بيست";

    $con_se[3]="سي";

    $con_se[4]="چهل";

    $con_se[5]="پنجاه";

    $con_se[6]="شصت";

    $con_se[7]="هفتاد";

    $con_se[8]="هشتاد";

    $con_se[9]="نود";





    $con_char[1]="يک";

    $con_char[2]="دو";

    $con_char[3]="سه";

    $con_char[4]="چهار";

    $con_char[5]="پنج";

    $con_char[6]="شش";

    $con_char[7]="هفت";

    $con_char[8]="هشت";

    $con_char[9]="نه";

    $con_hezargan=($con_c[-4]);

    $con_sadgan=($con_c[-3]);

    $con_dahgan=($con_c[-2]);

    $con_yekgan=($con_c[-1]);



    if ($con_dahgan==1) switch ($con_yekgan)

    {

    case (1):

    $con_char[1]="ده";

    $con_se[1]="ياز";

    break;



    case (2):

    $con_char[2]="ده";

    $con_se[1]="دواز";

    break;



    case (3):

    $con_char[3]="ده";

    $con_se[1]="سيز";

    break;



    case (4):

    $con_char[4]="ده";

    $con_se[1]="چهار";

    break;



    case (5):

    $con_char[5]="ده";

    $con_se[1]="پانز";

    break;



    case (6):

    $con_char[6]="ده";

    $con_se[1]="شانز";

    break;



    case (7):

    $con_char[7]="ده";

    $con_se[1]="هفت";

    break;



    case (8):

    $con_char[8]="ده";

    $con_se[1]="هج";

    break;



    case (9):

    $con_char[9]="ده";

    $con_se[1]="نوز";

    break;



    }

    $con_va=" ";



    }



    $con_mmm="$con_yek[$con_hezargan]$con_va$con_dow[$con_sadgan]$con_va$con_se[$con_dahgan]$con_va$con_char[$con_yekgan]";

    $tarikh[sal_a]=$con_sal;

    $tarikh[mah_a]=$con_mah;

    $tarikh[rooz_a]=$con_rooz;

    $tarikh[sal_h]=$con_mmm;

    $tarikh[mah_h]=$con_ar_mah[$con_mah];

    $tarikh[rooz_h]=$con_ar_rooz[$con_rooz];

    $tarikh[hafte]=$con_ar_hafte[$con_week];

    $tarikh[aval]=$first_day;

    $tarikh[kab]=$con_kab;



    return $tarikh;

    //print (" $con_ar_hafte[$con_haft]    <br>");

    } //rooz



    } // mah



    // sal

    }

    ?>

    [/code:1]
    تاریخ میلادی می گیرد
    تاریخ شمسی به تفکیک روز ماه سال به دو صورت عددی و حروفی پس می دهد
    ایام هفته را پس می دهد
    کبیسه شمسی و روز اول هر ماه چند شنبه است را هم پس می دهد
     
  14. avajang.com .leftavajang.com.right
  15. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
  16. ALICIVIL

    ALICIVIL کاربر تازه وارد

    تاریخ عضویت:
    ‏4 ژانویه 2004
    نوشته ها:
    43
    تشکر شده:
    0
    آقا ممنون راستش من هنوز از این کدها استفاده نکردم اما به نظر مفید میرسه
    از اینکه این مطلب رو مطرح فرمودید تا بقیه هم بتوننن استفاده کنند جای تشکر داره.
    با تشکر . کوچیک شما علی مطلبی
    یه سری هم به سایم ما بزنید . البته با اینکه سراپا ایراده اما ممنون میشم ایرادات کلی رو برام بگین
    [​IMG] مهندسی عمران ایران
     
  17. r3001

    r3001 کاربر تازه وارد

    تاریخ عضویت:
    ‏12 مارس 2011
    نوشته ها:
    8
    تشکر شده:
    0
    بسم الله الرّحمن الرّحيم

    معرّفی یک نرم افزار پی اچ پی مفید و کاربردی برای تبدیل تاریخ و زمان

    تاريخ هجري شمسي به عنوان يکي از دقيق ترين تاريخ ها ، براي استفاده در سايت هاي فارسي بسيار مناسب است. امّا متاسّفانه با توجّه به ميلادي بودن تاريخ سرور سايت ها ، دسترسي به تاريخ هجري شمسي با مشکلاتي همراه است. يکي از اين مشکلات ، عدم دسترسي به يک نرم افزار رايگان مبدّل تاريخ به هجري شمسي است که از دقّت بالايي نيز برخوردار باشد.
    يکي از بهترين نرم افزارهاي رايگان در اين زمينه ، نرم افزار تقويم جلالي بود که سال ها قبل به زبان پي اچ پي نوشته شد و هم اکنون در اکثر سايت ها استفاده مي شود. امّا با گذشت زمان ، عيوب بسيار زيادي از آن نرم افزار قديمي ، آشکار شد. افراد زيادي اقدام به اصلاح فايل نرم افزار نمودند و نسخه هاي گوناگوني از آن منتشر شد که هر کدام با مشکلات و خطاهايي همراه بود.
    پس از گذشت سال ها از ساخت نرم افزار قديمي تبديل تاريخ ، در راستاي پيشرفت کشور و توسعه ي فناوري اطّلاعات ، نياز به انتشار يک نرم افزار مشابه با دقّت و امکانات بيشتر ، به شدّت احساس مي شد. تا اين که سايت http://jdf.scr.ir در روز 22 بهمن 1389 ، اقدام به انتشار يک نرم افزار جديد ، مشابه با نرم افزار قديمي نمود و اوّلين نسخه ي آن را در امتداد نسخه ي قديمي ، نسخه ي 2.00 قرار داد.
    اين نرم افزار جديد ، به دليل همنام بودن نام فايل و توابع آن با نرم افزار قديمي ، اين قابليت را دارد که به راحتي جايگزين فايل قديمي در سايت ها شود و مشکلي در سايت ايجاد نکند.
    همچنين امکانات بسيار زيادي به نرم افزار جديد اضافه شد ، مثلاً قابليت محاسبه و نمايش : نام روز و ماه و سال به حروف _ نام باستاني برج ها _ نام حيواني سال ها _ تعداد روز و درصد گذشته و باقيمانده از سال _ نام و شماره ي فصل _ و امکانات بسيار زياد ديگري که مناسب با تاريخ هجري شمسي و زبان شيرين فارسي می باشد.
    در اين نرم افزار ، پارامترهاي جديد زيادي اضافه شد تا بتوان عملکرد توابع را به صورت دقیق کنترل کرد و خروجي دلخواه را دريافت نمود. مثلاً قابليت تعيين زبان اعداد ، منطقه ي زماني و حتّي نوع خروجي بعضي توابع که به صورت آرايه باشد يا يک متن دلخواه.
    توابع نيز به صورت کامل ، بازنويسي و اصلاح شدند. حجم نرم افزار جديد تا حدّ زيادي کاهش يافت و در مقابل ، سرعت و دقّت آن چندين برابر شد.
    اين نرم افزار با داشتن ويژگي هايي همچون متن باز و رايگان بودن ، راه جديدي را براي استفاده از تاريخ هجري شمسي در فضاي مجازي باز کرد. افتخار مي کنيم که اکنون شاهد استفاده از تاريخ بسيار دقيق هجري شمسي در وب سايت ها هستيم و ديگر اجباري براي استفاده از تاريخ ميلادي وجود ندارد. انشاءالله در آينده ي نزديک بتوانيم با ابداع سيستم عامل ها ، زبان هاي برنامه نويسي و نرم افزار هاي بومي به دست خودمان ، کاملاً خودکفا و بي نياز از فناوري هاي غير بومي شويم. آن زمان نزديک است ، آنقدر نزديک که حتّي نمي توانيد تصوّرش را بکنيد.
    نرم افزار جديد را هم اکنون مي توان از طريق سايت رسمي اين نرم افزار به نشاني http://jdf.scr.ir دريافت نمود. براي استفاده کنندگان از اين نرم افزار ، يک مجموعه ي کامل آموزشي ، ايجاد شده و در سايت http://jdf.scr.ir موجود است. همچنين اين سايت ، اقدام به جمع آوري نظرات و پيشنهادات شما براي ارتقاي بيشتر نرم افزار نموده و شما مي توانيد با گزارش اشکالات نرم افزار ، در اصلاح نسخه ي بعدي آن ، کمک کنيد. در اين سايت ، از تمامي ايده هاي مفيد و کاربردي ، حمايت مي شود.
    با عضويت در خبرنامه ي سايت http://jdf.scr.ir به محض انشار نسخه ي جديدتري از اين نرم افزار ، مطّلع خواهيد شد.
    اين سايت در زمينه ي گسترش استفاده از تاريخ دقيق هجري شمسي ، فقط به وب سايت ها اکتفا نکرده و اقدام به ايجاد تابع مجازي jdate براي وبلاگ ها نموده است. از اين پس ، طرّاحان قالب وبلاگ ها و وبلاگ نويسان قادر خواهند بود به صورت مجازي و بدون نياز به فضاي آپلود فايل نرم افزار ، از تابع jdate به صورت دلخواه ، خروجي مورد نظر خود را دريافت کرده و در صفحات وبلاگ خود استفاده نمایند.

    براي کسب اطّلاعات بيشتر ، مي توانيد به سايت http://jdf.scr.ir مراجعه فرماييد و از آخرين اخبار مربوطه ، مطّلع شويد.