واضح آرشیو وب فارسی:سایت ریسک: کد تاریخ شمسی ghasembaghi 27 اسفند 1386, 00:02من قبلا برای درج تاریخ شمسی امروز در سایت از کد زیر استفاده میکردم، منتها این کد بعضی وقت ها توی بازی می رفت و تاریخ روز، هفته، ماه یا سال را یکی کم یا زیاد نشون میداد. مشکل دیگشم این بود که بر اساس تاریخ کامپیوتر کلاینت تنظیم می شد نه سرور.میخواستم ببینم کد دیگه ای برای نمایش تاریخ امروز به صورت شمسی هست یا نه؟ ممنون از همه کد قبلی: <script> function showdate() { week= new Array("يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنج شنبه","جمعه","شنبه") months = new Array("فروردين","ارديبهشت","خرداد","تير","مرداد","شهريور","مهر","آبان","آذر","دي","بهمن","اسفند"); a= new Date(); d= a.getDay(); day= a.getDate(); month= a.getMonth()+1; year= a.getYear(); year= (year== 0)?2000:year; (year<1000)? (year += 2000):true; year -= ( (month < 3) || ((month == 3) && (day < 21)) )? 622:621; switch (month) { case 1: (day<21)? (month=10, day+=10):(month=11, day-=20); break; case 2: (day<20)? (month=11, day+=11):(month=12, day-=19); break; case 3: (day<21)? (month=12, day+=9):(month=1, day-=20); break; case 4: (day<21)? (month=1, day+=11):(month=2, day-=20); break; case 5: case 6: (day<22)? (month-=3, day+=10):(month-=2, day-=21); break; case 7: case 8: case 9: (day<23)? (month-=3, day+=9):(month-=2, day-=22); break; case 10:(day<23)? (month=7, day+=8):(month=8, day-=22); break; case 11: case 12:(day<22)? (month-=3, day+=9):(month-=2, day-=21); break; default: break; } document.write(" "+week[d]+" "+day+" "+months[month-1]+" "+ year); } </script> Mr.Steres 09 فروردين 1387, 00:05از همه بهتر همینه ! البته امسال ایام هفته رو یه ذره عقب جلو نشون میده ! Zanguei 09 فروردين 1387, 01:35دوستان عزیزم اول از همه اینکه کد شما به زبان جاوا اسکریپت است که جزء زبانهای Ciient Side محسوب میشه و شما این تاپیک رو در انجمن Server Side باز کردید و دوم اینکه همانطور که شاره کردید زبان جاوا اسکریپت برای نمایش تاریخ از تاریخ سیستم کاربرانی که سایت رو مشاهده می کنند استفاده می کنه بنابراین اگر تاریخ کامپیوتر کاربر اشتباه باشه سایت شما هم تاریخ اشتباهی رو نمایش خواهد داد و این کمی باعث ضعف است و ممکنه که موجبات تمسخر طراح سایت و یا مالک سایت رو به ارمغان بیارید. برای جلوگیری از این کار باید تاریخ را توسط زبان های سرور سایدی مثل PHP و یا ASP.NET از سرور بگیرید. چرا که معمولا تاریخ و ساعت سرورها با تاریخ و ساعت گرینویچ تنظیم میشوند. نمونه کد PHP رو میتونید در تاپیک زیر پیدا کنید. موفق باشید. pedramr 28 فروردين 1387, 10:35تا به حال الگوريتمهای زيادی برای نمايش تاريخ جاری بر اساس تقويم جلالی ارائه شدهاند . در زير يک نمونه ساده ولی کارآمد آن ارائه می شود . اين نمونه تاريخ Server را نشان می دهد . برای اينكه تاريخ از روی كامپيوتر بازديدكننده محاسبه شود كافيست runat=server را از كد حذف كنيد . <script language="vbscript" runat="server"> Function IranDate() Dim ifday,ifmonth,ifyear,ifdayofyear Dim iyear,idayofyear Dim inumdayofyear Dim aifmonthdays aifmonthdays = Array(31,31,31,31,31,31,30,30,30,30,30,29) inumdayofyear = 365 iyear =year(date) idayofyear = datepart("y", date) If isleapyear(iyear-1) then inumdayofyear = 366 aifmonthdays(11) = 30 End if If (idayofyear > 79 ) then ifyear = iyear -621 ifdayofyear = idayofyear - 79 Else ifyear = iyear - 622 ifdayofyear = (inumdayofyear - 79 ) + idayofyear End if ifday = ifdayofyear While ( ifday > aifmonthdays(ifmonth) ) ifday = ifday - aifmonthdays(ifmonth) ifmonth = ifmonth + 1 Wend ifmonth = ifmonth + 1 IranDate = ifyear & "/" & ifmonth & "/" & ifday End Function Function isleapyear(nyear) isleapyear = ( ( (nyear mod 4) = 0 And (nyear mod 100) <> 0 ) or (nyear mod 400) = 0 ) End Function Sub Showfdate End sub </script> <%= (IranDate) %> sabasoft 30 فروردين 1387, 09:34اینجا جای برنامه نویسی Client Side نیست! pedramr 31 فروردين 1387, 07:30گفتم که از این کد میشه در هر دو سمت کلاینت و سِرور استفاده کرد. دوباره بخون .. sabasoft 31 فروردين 1387, 22:10درود بر آقای pedramr! من منظورم اول با پست قبلتری بود و بعد با شما! و من عذر می خوام چون متنش رو نخونده بودم... :-? Zanguei 01 ارديبهشت 1387, 00:27درود بر آقای pedramr! من منظورم اول با پست قبلتری بود و بعد با شما! و من عذر می خوام چون متنش رو نخونده بودم... :-? سلام دوست من ببخشید منظورتون از پست قلبتری کدوم پست هست؟!!! فکر کنم اون پست قبلتری رو هم مثل پست آقا پدرام درست نخوندید. البته شابدم باز منظورتون پست قبلتر قبلتری بوده باشه! :) موفق باشید.
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 4370]