nexpay

نمایش دهنده تاريخ ميخوام

شروع موضوع توسط ariaboy ‏6 فوریه 2006 در انجمن PHP

  1. ariaboy

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

    تاریخ عضویت:
    ‏1 جولای 2003
    نوشته ها:
    246
    تشکر شده:
    0
    نمایش دهنده تاريخ ميخوام
    هجري شمسي ، هجري قمري ، ميلادي

    مثلا 27 بهمن 84 ، 14 جمادي الثاني 1420 ، 16 جولاي 2006

    ممنون بچه ها .
    عجله داشتم
     
  2. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    ميلادي و شمسيش که آسونه !
    ولي قمري ...
     
  3. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    میلادی:
    PHP:
    <?php
    echo date("l j F Y");
    ?>
    شمسی:
    http://jdf.farsiprojects.com

    قمری:
    PHP:
    <?php
    class HijriCalendar
    {
       function 
    monthName($i// $i = 1..12
       
    {
           static 
    $month  = array(
               
    "Mِxنrrنm""Safar""Rabig-نl-ؤwwنl""Rabig-نl-Axيr",
               
    "Cِmنd-نl-ؤwwنl""Cِmنd-نl-Axيr""Racنb""قنًbنn",
               
    "Ramazan""قنwنl""Zِ-نl-Qنًdن""Zِ-نl-Xiccن"
           
    );
           return 
    $month[$i-1];
       }
       function 
    GregorianToHijri($time null)
       {
           if (
    $time === null$time time();
           
    $m date('m'$time);
           
    $d date('d'$time);
           
    $y date('Y'$time);
           return 
    HijriCalendar::JDToHijri(
               
    cal_to_jd(CAL_GREGORIAN$m$d$y));
       }
       function 
    HijriToGregorian($m$d$y)
       {
           return 
    jd_to_cal(CAL_GREGORIAN,
               
    HijriCalendar::HijriToJD($m$d$y));
       }
       
    # Julian Day Count To Hijri
       
    function JDToHijri($jd)
       {
           
    $jd $jd 1948440 10632;
           
    $n  = (int)(($jd 1) / 10631);
           
    $jd $jd 10631 $n 354;
           
    $j  = ((int)((10985 $jd) / 5316)) *
               ((int)(
    50 $jd 17719)) +
               ((int)(
    $jd 5670)) *
               ((int)(
    43 $jd 15238));
           
    $jd $jd - ((int)((30 $j) / 15)) *
               ((int)((
    17719 $j) / 50)) -
               ((int)(
    $j 16)) *
               ((int)((
    15238 $j) / 43)) + 29;
           
    $m  = (int)(24 $jd 709);
           
    $d  $jd - (int)(709 $m 24);
           
    $y  30*$n $j 30;
           return array(
    $m$d$y);
       }
       
    # Hijri To Julian Day Count
       
    function HijriToJD($m$d$y)
       {
           return (int)((
    11 $y 3) / 30) +
               
    354 $y 30 $m -
               (int)((
    $m 1) / 2) + $d 1948440 385;
       }
    };
    $hijri HijriCalendar::GregorianToHijritime() );
    echo 
    $hijri[1].'. '.HijriCalendar::monthName($hijri[0]).' '.$hijri[2];
    ?>

     
  4. first saeed

    first saeed Registered User

    تاریخ عضویت:
    ‏25 آگوست 2005
    نوشته ها:
    813
    تشکر شده:
    2
    محل سکونت:
    PubliC_HtmL
    قمري رو بي خيال شو [​IMG]

    براي شمسي مي توني از تابع ميلاد استفاده کني که تو قسمت اسکريپت هاي اماده سرچ کني هست

    براي ميلادي هم که ديگه راحته از توابع خود php مي توني استفاده کني مثل تابع date يا توايع strftime به شکل زير:
    $year=(strftime("%Y"));
    $mount=(strftime("%m"));
    $day=(strftime("%d"));
     
  5. carp3

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

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
    و قمری ( درستش ) :

    PHP:
    <?
    echo 
    arabicDate('ar:l d/F - h:iA'time());

    function 
    arabicDate($format$timestamp) {
       
    /*
           written by Salah Faya ([email protected]) http://www.php4arab.info/scripts/arabicDate
             $format:
                   [*]hj|ar|en:[jdl][Fmn][Yy][Aa]  (php.date function handles the rest chars)
                   * will add <span dir=rtl lang=ar-sa>..</span>
               examples:
                   echo arabicDate('hj:l d-F-Y هـ', time()); 
                   echo arabicDate('ar:l d/F - h:iA', time());
       */
       
    $format=trim($format);
       if (
    substr($format,0,1)=='*') {
                   
    $use_span=true;
           
    $format=substr($format,1);
           } else 
    $use_span=false;
       
    $type=substr($format,0,3);

       
    $arDay = array("Sat"=>"السبت""Sun"=>"الأحد""Mon"=>"الإثنين""Tue"=>"الثلاثاء",
     
    "Wed"=>"الأربعاء""Thu"=>"الخميس""Fri"=>"الجمعة");
       
    $ampm=array('am'=>'صباحا','pm'=>'مساء');
       list(
    $d,$m,$y,$dayname,$monthname,$am)=explode(' ',date('d m Y D M a'$timestamp));
       if (
    $type=='hj:') {
           if ((
    $y>1582)||(($y==1582)&&($m>10))||(($y==1582)&&($m==10)&&($d>14))) {
               
    $jd=ard_int((1461*($y+4800+ard_int(($m-14)/12)))/4);
               
    $jd+=ard_int((367*($m-2-12*(ard_int(($m-14)/12))))/12);
               
    $jd-=ard_int((3*(ard_int(($y+4900+ard_int(($m-14)/12))/100)))/4);
               
    $jd+=$d-32075;
           } else    {
               
    $jd 367*$y-ard_int((7*($y+5001 ard_int(($m-9)/7)))/4) + ard_int((275*$m)/9)+$d+1729777;
           }
           
    $l=$jd-1948440+10632;
           
    $n=ard_int(($l-1)/10631);
           
    $l=$l-10631*$n+355;  // Correction: 355 instead of 354
           
    $j=(ard_int((10985-$l)/5316)) * (ard_int((50*$l)/17719)) + (ard_int($l/5670)) * (ard_int((43*$l)/15238));
           
    $l=$l-(ard_int((30-$j)/15)) * (ard_int((17719*$j)/50)) - (ard_int($j/16)) * (ard_int((15238*$j)/43))+29;
           
    $m=ard_int((24*$l)/709);
           
    $d=$l-ard_int((709*$m)/24);
           
    $y=30*$n+$j-30;       
           
    $format=substr($format,3);
           
    $hjMonth = array("محرم""صفر""ربيع أول""ربيع ثاني",
     
    "جماد أول""جماد ثاني""رجب""شعبان""رمضان""شوال""ذو القعدة""ذو الحجة");
           
    $format=str_replace('j'$d$format);
           
    $format=str_replace('d'str_pad($d,2,0,STR_PAD_LEFT), $format);
           
    $format=str_replace('l'$arDay[$dayname], $format);
           
    $format=str_replace('F'$hjMonth[$m-1], $format);
           
    $format=str_replace('m'str_pad($m,2,0,STR_PAD_LEFT), $format);
           
    $format=str_replace('n'$m$format);
           
    $format=str_replace('Y'$y$format);
           
    $format=str_replace('y'substr($y,2), $format);
           
    $format=str_replace('a'substr($ampm[$am],0,1), $format);
           
    $format=str_replace('A'$ampm[$am], $format);
       } elseif (
    $type=='ar:') {
           
    $format=substr($format,3);
           
    $arMonth=array("Jan"=>"يناير""Feb"=>"فبراير","Mar"=>"مارس""Apr"=>"ابريل""May"=>"مايو",
    "Jun"=>"يونيو""Jul"=>"يوليو""Aug"=>"اغسطس""Sep"=>"سبتمبر""Oct"=>"اكتوبر",
     
    "Nov"=>"نوفمبر""Dec"=>"ديسمبر");
           
    $format=str_replace('l'$arDay[$dayname], $format);
           
    $format=str_replace('F'$arMonth[$monthname], $format);
           
    $format=str_replace('a'substr($ampm[$am],0,1), $format);
           
    $format=str_replace('A'$ampm[$am], $format);
           }
       
    $date date($format$timestamp);
       if (
    $use_span) return '<span dir="rtl" lang="ar-sa">'.$date.'</span>';
       else return 
    $date;
    }

    function 
    ard_int($float) {
           return (
    $float < -0.0000001) ? ceil($float-0.0000001) : floor($float+0.0000001);
    }

     
  6. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    سعید جان جواب منو ندیدی نه؟؟؟؟؟
    حالا که اینطور شد: از این توابع برای میلادی استفاده کن: date() mktime() gettime() strtodate() strftime() و ...
     
  7. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    آره تابع پدرام بهتره... اونی که من گذاشتم تویه manual بود!!
     
  8. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    اين قمريه درسته؟
    باگ ماگ نداره؟
     
  9. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    فکر نکنم!!!
     
  10. carp3

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

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
    باگ داره
    این مثله اون تاریخ جلالی نیست یعنی مثله تابع تاریخ پی اچ پی نیست !
     
  11. first saeed

    first saeed Registered User

    تاریخ عضویت:
    ‏25 آگوست 2005
    نوشته ها:
    813
    تشکر شده:
    2
    محل سکونت:
    PubliC_HtmL
    نه سالار جان ظاهرا همزمان با هم پست زديم اما مال شما زودتر رسيده [​IMG]
     
  12. Motahari

    Motahari Registered User

    تاریخ عضویت:
    ‏22 فوریه 2003
    نوشته ها:
    690
    تشکر شده:
    3
    اين كه مشكل داره.
    همون كدهاي sama_sally رو تست كردم. ظاهرش درست جواب داد.
     
  13. avajang.com .leftjee.ir.right
zarpopخرید بک لینک عسل طبیعی و گرده گل ایرانیfootbal