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

تاريخ فارسي با جاوا اسكريپت

شروع موضوع توسط farhadrm ‏10 ژانویه 2004 در انجمن HTML

  1. farhadrm

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

    تاریخ عضویت:
    ‏2 ژانویه 2003
    نوشته ها:
    41
    تشکر شده:
    0
    سلام،
    من يك كد اچ تي ام ال با جاوا پيدا كردم كه باهاش مي شه تاريخ فارسي نمايش داد ولي مي خواستم جاوا اسكريپتش خارج از كد اچ تي ام ال داخل صفحه باشه يعني به صورت فايل file.js ولي موفق نمي شم. كسي مي تونه در اين مورد راهنمايي كنه؟ چون آوردن كدها داخل همه صفحات سايت رو كند مي كنه و بهتره كه به صورت خارجي ازش استفاده كرد.
    كدش رو اين زير مي نويسم:
    البته نوشته هايي كه اين زير به فارسي هست داخل فايل به صورت كد هاي يونيكده كه متاسفانه در فوروم به نوشته هاي فارسي تبديل مي شه.
    خيلي ممنون

    کد:
    <html>
    
    <head>
    <meta http-equiv="Content-Language" content="fa">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>new</title>
    <script language="JavaScript">
    <!-- Begin
    var day="";
    var month="";
    var myweekday="";
    var year="";
    var timerID = null;
    var timerRunning = false;
    var dayf="";
    var sal="";
    var roozf="";
    var mahf="";
    
    mydate = new Date();
    myday = mydate.getDay();
    mymonth = mydate.getMonth();
    myweekday= mydate.getDate();
    weekday= myweekday;
    myyear= mydate.getYear();
    year = myyear;
    
    if(myday == 0)
    {
    day = " Sunday, ";
    dayf= "يكشنبه";
    }
    else if(myday == 1)
    {
    day = " Monday, ";
    dayf="دوشنبه";
    }
    else if(myday == 2)
    {
    day = " Tuesday, ";
    dayf="سه شنبه";
    }
    else if(myday == 3)
    {
    day = " Wednesday, ";
    dayf="چهارشنبه";
    }
    else if(myday == 4)
    {
    day = " Thurday, ";
    dayf="پنجشنبه";
    }
    else if(myday == 5)
    {
    day = " Friday, ";
    dayf="جمعه";
    }
    else if(myday == 6)
    {
    day = " Saturday, ";
    dayf="شنبه";
    }
    
    if ( ((mymonth>=0)&& (mymonth <= 1)) || ((mymonth == 2) && (myweekday <= 20)))
    {
       sal = myyear - 622;
       s1 = true;
    }
    else
    {
       sal = myyear - 621;
       s1 = false;
    }
    
    
    if ((myyear%4 == 0) && (myyear%400 != 0))
    kabise = true;
    else
    kabise=false;
    
    if (((myyear - 1) % 4 == 0) && ((myyear - 1)%400 != 0))
    kabiseold = true;
    else kabiseold=false;
    
    if (myyear == 2000)
       kabise = true;
       
    if (myyear == 2001)
       kabiseold = true;
    
    
    shamsi=new Array(12);
    shamsi[0] = 0;
    shamsi[1] = 31;
    shamsi[2] = 62;
    shamsi[3] = 93;
    shamsi[4] = 124;
    shamsi[5] = 155;
    shamsi[6] = 186;
    shamsi[7] = 216;
    shamsi[8] = 246;
    shamsi[9] = 276;
    shamsi[10] = 306;
    shamsi[11] = 336;
    
    if (kabise)
       kab = 1;
    else
       kab = 0;
    
    
    miladi=new Array(12);
    miladi[0] = 0;
    miladi[1] = 31 + kab;
    miladi[2] = 59 + kab;
    miladi[3] = 90 + kab;
    miladi[4] = 120 + kab;
    miladi[5] = 151 + kab;
    miladi[6] = 181 + kab;
    miladi[7] = 212 + kab;
    miladi[8] = 243 + kab;
    miladi[9] = 273 + kab;
    miladi[10] = 304 + kab;
    miladi[11] = 334 + kab;
    
    marray=new Array(12);
    marray[0] = "فروردين";
    marray[1] = "ارديبهشت";
    marray[2] = "خرداد";
    marray[3] = "تير";
    marray[4] = "مرداد";
    marray[5] = "شهريور";
    marray[6] = "مهر";
    marray[7] = "آبان";
    marray[8] = "آذر";
    marray[9] = "دي";
    marray[10] = "بهمن";
    marray[11] = "اسفند";
    
    if (kabiseold)
       kab1 = 1;
    else
       kab1 = 0;
    
    if (s1)
       x1 = myweekday + miladi[mymonth] + kab1;
    else
       x1 = myweekday + miladi[mymonth];
    
    if (x1< 80)
    x1 = 365 - 79 + x1;
       else if (x1> 80)
            x1 = x1 - 79;
       else if (x1=80)
            {
            if(s1)
               x1 = 365 - 79 + x1;
            else
               x1 = x1 - 79;
            }
    
    ss1 = true;
    i = 12;
    while (i > 0 && ss1)
    {
       i = i - 1;
       if (x1 <= shamsi[i])
         ss1=true;
       else ss1=false;  
    }
    
    rooz=new Array(31);
    rooz[0] = "يكم";
    rooz[1] = "دوم";
    rooz[2] = "سوم";
    rooz[3] = "چهارم";
    rooz[4] = "پنجم";
    rooz[5] = "ششم";
    rooz[6] = "هفتم";
    rooz[7] = "هشتم";
    rooz[8] = "نهم";
    rooz[9] = "دهم";
    rooz[10] = "يازدهم";
    rooz[11] = "دوازدهم";
    rooz[12] = "سيزدهم";
    rooz[13] = "چهاردهم";
    rooz[14] = "پانزدهم";
    rooz[15] = "شانزدهم";
    rooz[16] = "هفدهم";
    rooz[17] = "هجدهم";
    rooz[18] = "نوزدهم";
    rooz[19] = "بيستم";
    rooz[20] = "بيست و يكم";
    rooz[21] = "بيست و دوم";
    rooz[22] = "بيست و سوم";
    rooz[23] = "بيست و چهارم";
    rooz[24] = "بيست و پنجم";
    rooz[25] = "بيست و ششم";
    rooz[26] = "بيست و هفتم";
    rooz[27] = "بيست و هشتم";
    rooz[28] = "بيست و نهم";
    rooz[29] = "سي ام";
    rooz[30] = "سي و يكم";
    roozf=rooz[x1 - shamsi[i]-1];
    mahf=marray[i];
    if(mymonth == 0) {
    month = "January ";}
    else if(mymonth ==1)
    month = "February ";
    else if(mymonth ==2)
    month = "March ";
    else if(mymonth ==3)
    month = "April ";
    else if(mymonth ==4)
    month = "May ";
    else if(mymonth ==5)
    month = "June ";
    else if(mymonth ==6)
    month = "July ";
    else if(mymonth ==7)
    month = "August ";
    else if(mymonth ==8)
    month = "September ";
    else if(mymonth ==9)
    month = "October ";
    else if(mymonth ==10)
    month = "November ";
    else if(mymonth ==11)
    month = "December ";
    // End -->
    </script>
    </head>
    
    <body>
    
    <table width="100%">
    	<tr>
    		<td width="13%" height="22" valign="top" bgcolor="#376DB0" align="center">
    		<script>
    		document.write("<font color=white size=-2 face='tahoma'> "+ dayf+" "+roozf+" "+mahf+" " + sal);
    			</script>
    		</td>
    		<td width="14%" height="22" valign="top" bgcolor="#376DB0" align="center">
    		<script>
    		document.write("<b><font size=1 color=white face='helvetica,arial'>" + day + month);
    		document.write(myweekday + ", " + year + "</font>");
    		</script>
    		</td>
    	</tr>
    </table>
    
    </body>
    
    </html>
     
  2. b_amighi

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

    تاریخ عضویت:
    ‏15 نوامبر 2003
    نوشته ها:
    145
    تشکر شده:
    0
    به ترتيب زير عمل كن:

    كل كدهاي زير رو داخل يك فايل مثلا به اسم "Calendar.js" قرار بده (يه فايل جديد با Notepad ايجاد كن و اينو توش بنويس و بعد اسم فايل رو تغيير بده) :

    کد:
    <!-- Begin
    var day="";
    var month="";
    var myweekday="";
    var year="";
    var timerID = null;
    var timerRunning = false;
    var dayf="";
    var sal="";
    var roozf="";
    var mahf="";
    
    mydate = new Date();
    myday = mydate.getDay();
    mymonth = mydate.getMonth();
    myweekday= mydate.getDate();
    weekday= myweekday;
    myyear= mydate.getYear();
    year = myyear;
    
    if(myday == 0)
    {
    day = " Sunday, ";
    dayf= "يكشنبه";
    }
    else if(myday == 1)
    {
    day = " Monday, ";
    dayf="دوشنبه";
    }
    else if(myday == 2)
    {
    day = " Tuesday, ";
    dayf="سه شنبه";
    }
    else if(myday == 3)
    {
    day = " Wednesday, ";
    dayf="چهارشنبه";
    }
    else if(myday == 4)
    {
    day = " Thurday, ";
    dayf="پنجشنبه";
    }
    else if(myday == 5)
    {
    day = " Friday, ";
    dayf="جمعه";
    }
    else if(myday == 6)
    {
    day = " Saturday, ";
    dayf="شنبه";
    }
    
    if ( ((mymonth>=0)&& (mymonth <= 1)) || ((mymonth == 2) && (myweekday <= 20)))
    {
       sal = myyear - 622;
       s1 = true;
    }
    else
    {
       sal = myyear - 621;
       s1 = false;
    }
    
    
    if ((myyear%4 == 0) && (myyear%400 != 0))
    kabise = true;
    else
    kabise=false;
    
    if (((myyear - 1) % 4 == 0) && ((myyear - 1)%400 != 0))
    kabiseold = true;
    else kabiseold=false;
    
    if (myyear == 2000)
       kabise = true;
       
    if (myyear == 2001)
       kabiseold = true;
    
    
    shamsi=new Array(12);
    shamsi[0] = 0;
    shamsi[1] = 31;
    shamsi[2] = 62;
    shamsi[3] = 93;
    shamsi[4] = 124;
    shamsi[5] = 155;
    shamsi[6] = 186;
    shamsi[7] = 216;
    shamsi[8] = 246;
    shamsi[9] = 276;
    shamsi[10] = 306;
    shamsi[11] = 336;
    
    if (kabise)
       kab = 1;
    else
       kab = 0;
    
    
    miladi=new Array(12);
    miladi[0] = 0;
    miladi[1] = 31 + kab;
    miladi[2] = 59 + kab;
    miladi[3] = 90 + kab;
    miladi[4] = 120 + kab;
    miladi[5] = 151 + kab;
    miladi[6] = 181 + kab;
    miladi[7] = 212 + kab;
    miladi[8] = 243 + kab;
    miladi[9] = 273 + kab;
    miladi[10] = 304 + kab;
    miladi[11] = 334 + kab;
    
    marray=new Array(12);
    marray[0] = "فروردين";
    marray[1] = "ارديبهشت";
    marray[2] = "خرداد";
    marray[3] = "تير";
    marray[4] = "مرداد";
    marray[5] = "شهريور";
    marray[6] = "مهر";
    marray[7] = "آبان";
    marray[8] = "آذر";
    marray[9] = "دي";
    marray[10] = "بهمن";
    marray[11] = "اسفند";
    
    if (kabiseold)
       kab1 = 1;
    else
       kab1 = 0;
    
    if (s1)
       x1 = myweekday + miladi[mymonth] + kab1;
    else
       x1 = myweekday + miladi[mymonth];
    
    if (x1< 80)
    x1 = 365 - 79 + x1;
       else if (x1> 80)
            x1 = x1 - 79;
       else if (x1=80)
            {
            if(s1)
               x1 = 365 - 79 + x1;
            else
               x1 = x1 - 79;
            }
    
    ss1 = true;
    i = 12;
    while (i > 0 && ss1)
    {
       i = i - 1;
       if (x1 <= shamsi[i])
         ss1=true;
       else ss1=false;  
    }
    
    rooz=new Array(31);
    rooz[0] = "يكم";
    rooz[1] = "دوم";
    rooz[2] = "سوم";
    rooz[3] = "چهارم";
    rooz[4] = "پنجم";
    rooz[5] = "ششم";
    rooz[6] = "هفتم";
    rooz[7] = "هشتم";
    rooz[8] = "نهم";
    rooz[9] = "دهم";
    rooz[10] = "يازدهم";
    rooz[11] = "دوازدهم";
    rooz[12] = "سيزدهم";
    rooz[13] = "چهاردهم";
    rooz[14] = "پانزدهم";
    rooz[15] = "شانزدهم";
    rooz[16] = "هفدهم";
    rooz[17] = "هجدهم";
    rooz[18] = "نوزدهم";
    rooz[19] = "بيستم";
    rooz[20] = "بيست و يكم";
    rooz[21] = "بيست و دوم";
    rooz[22] = "بيست و سوم";
    rooz[23] = "بيست و چهارم";
    rooz[24] = "بيست و پنجم";
    rooz[25] = "بيست و ششم";
    rooz[26] = "بيست و هفتم";
    rooz[27] = "بيست و هشتم";
    rooz[28] = "بيست و نهم";
    rooz[29] = "سي ام";
    rooz[30] = "سي و يكم";
    roozf=rooz[x1 - shamsi[i]-1];
    mahf=marray[i];
    if(mymonth == 0) {
    month = "January ";}
    else if(mymonth ==1)
    month = "February ";
    else if(mymonth ==2)
    month = "March ";
    else if(mymonth ==3)
    month = "April ";
    else if(mymonth ==4)
    month = "May ";
    else if(mymonth ==5)
    month = "June ";
    else if(mymonth ==6)
    month = "July ";
    else if(mymonth ==7)
    month = "August ";
    else if(mymonth ==8)
    month = "September ";
    else if(mymonth ==9)
    month = "October ";
    else if(mymonth ==10)
    month = "November ";
    else if(mymonth ==11)
    month = "December ";
    // End -->
    اين فايل رو جايي روي Server بايد Upload كني. مثلا دايركتوري "Javascript" توي ريشه (wwwroot) حالا بجاي اون تگ اسكريپت اينو بنويس و توي قسمت Source كه نوشتم Your Target محلي رو كه فايل شما قرار گرفته بنويس. يادت باشه كه اين تگ اسكريپت بايد توي قسمت head كدهاي html نوشته بشه, بين دو تگ:


    کد:
    <head>
    <Script language="JavaScript" src="Your Target">
    </Script>
    </head>
    طبق مثال بالا Your Target شما ميشه:

    کد:
    ..//Javascript/Calendar.js
    اگه اين اسكريپت درست عمل ميكنه, تحت اين شرايط هم بايد كاملا درست عمل كنه.
    حالا اگه ميخواي اين اسكريپت توي همه صفحه ها خونده بشه كافيه تگ اسكريپتي رو كه برات نوشتم تو همه صفحه ها بكار ببري و هر جا كه Fanction اونو صدا بزني ميره و اجراش ميكنه.
    يادت باشه قبل از بكار بردن اين اسكريپت نوشته هاي فارسي رو به Unicode تبديل كني.
    اگه مشكلي خوردي بنويس.

    موفق باشي :)
     
  3. yehnafar

    yehnafar Registered User

    تاریخ عضویت:
    ‏24 ژانویه 2003
    نوشته ها:
    209
    تشکر شده:
    0
    محل سکونت:
    تهران
    ببخشيد... ميشه يه مثالم براي صدا زدن ايت تابع بزنيد كه چه جوري ميشه صداش زد دقيقا؟
     
  4. b_amighi

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

    تاریخ عضویت:
    ‏15 نوامبر 2003
    نوشته ها:
    145
    تشکر شده:
    0
    اين اسكريپتي كه توي body بكار رفته باعث نوشته شدن خروجي توي صفحه ميشه.

    کد:
    <body>
    <script>
    document.write("<font color=white size=-2 face='tahoma'> "+ dayf+" "+roozf+" "+mahf+" " + sal);
    </script>
    
    <script>
    document.write("<b><font size=1 color=white face='helvetica,arial'>" + day + month);
    document.write(myweekday + ", " + year + "</font>");
    </script>
    </body>
    ضمنا من اين كدها رو آزمايش نكردم كه بدونم صحيح عمل ميكنه يا نه. صرفا توضيحي بود كه در مقابل سئوال دوستمون دادم.
    اگه فرصت شد امتحانش ميكنم.
     
  5. ham_sohbat

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

    تاریخ عضویت:
    ‏5 جولای 2004
    نوشته ها:
    1
    تشکر شده:
    0
    من يه فايل ساختم . رو يه سرور هم ذخيره كردم . كدهايي هم كه كفتيد تو فايلم كپي كردم ولي كار نمي كنه . اشكال از دستوراست يا اشكال از منه .
    من خودم يه وبلاگ تو بلاگ اسپات جديداً درست كردم اي كدها رو هم براي همون مي خوام . ميشه يه توضيحي بديد كه چطور از اونها استفاده كنم .
    متشكرم
     
  6. taleghani

    taleghani Registered User

    تاریخ عضویت:
    ‏8 ژانویه 2006
    نوشته ها:
    37
    تشکر شده:
    0
    من با این کدها کار کرده ام ؛ تنها مشکلی که هست اینه که با تغییر دادن تاریخ سیستم ؛ تاریخ روی صفحه وب نيز تغییر می کنه. در حالی که در مورد تاریخ میلادی این مشکل وجود نداره. کسی جوابشو میدونه که به من هم بگه؟ لطفا فوری
     
  7. boxilink
  8. mazoolagh

    mazoolagh کاربر فعال شبکه و صفحات استاتیک کاربر فعال

    تاریخ عضویت:
    ‏10 آپریل 2004
    نوشته ها:
    2,940
    تشکر شده:
    7
    این کدها سمت کلاینت اجرا میشه بنابراین به تاریخ سیستم کلاینت وابسته است!

    برای رفع اون باید کد سمت سرور بنویسین!
     
  9. taleghani

    taleghani Registered User

    تاریخ عضویت:
    ‏8 ژانویه 2006
    نوشته ها:
    37
    تشکر شده:
    0
    میشه یکی از این کدهای سمت سرور را بنویسی![/QUOTE]
     
  10. mazoolagh

    mazoolagh کاربر فعال شبکه و صفحات استاتیک کاربر فعال

    تاریخ عضویت:
    ‏10 آپریل 2004
    نوشته ها:
    2,940
    تشکر شده:
    7
    کد سمت سرور برای asp یا php یا aspx ؟
     
  11. taleghani

    taleghani Registered User

    تاریخ عضویت:
    ‏8 ژانویه 2006
    نوشته ها:
    37
    تشکر شده:
    0
    کد سمت سرور برای asp و php
     
  12. taleghani

    taleghani Registered User

    تاریخ عضویت:
    ‏8 ژانویه 2006
    نوشته ها:
    37
    تشکر شده:
    0
    کد تاریخ شمسی سمت سرور می خوام چه php و چه asp .یه چیزی که cgi را پشتیبانی کنه.:(
     
  13. mehdi25

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

    تاریخ عضویت:
    ‏28 اکتبر 2004
    نوشته ها:
    1,317
    تشکر شده:
    2
    محل سکونت:
    طهران
    تو سایت سرچ کن خودت پیدا میکنی

    هم ASP و هم PHP و ASP.NET
     
  14. avajang.com .leftavajang.com.right