واضح آرشیو وب فارسی:سایت ریسک: نحوه استفاده از کلاس تبدیل تاریخ ؟ fahimehf 31 خرداد 1386, 10:23سلام من فقط درحد درست کردن منو و زیرمنو با فلش آشنایی دارم میخوام گوشه ای از صفحم یه lable تاریخ بصورت زیر بااستفاده از فلش بذارم: چهارشنبه 30 / 3 / 1386 20 جون 2007 کلاس تبدیل تاریخ میلادی به شمسی دارم چطور باید از اون استفاده کنم: %85%D 8%B 3%DB%8C+%D 9%85%DB%8C%D 9%84%D 8%A 7%D 8%AF%DB% 8C اگه میشه لطف کنید و من راهنمایی کنید_ تشکر Nasab 187 31 خرداد 1386, 11:40اول بايد يك نمونه از اين كلاس درست كنيد : var classInstance:Shamsi=new Shamsi(); بعدش براي تبديل سالها ميتونيد از دو تا متدش استفاده كنيد . براي تبديل تاريخ ميلادي به شمسي : tarikh_e_shamsi= classInstance.MiladiToShamsi(saal miladi ra vared konid, adad e mah miladi, rooz miladi); اين متد يه آرايه بر مي گردونه كه شامل سال و روز و ماه شمسي هستش . براي دسترسي به اينها بايد به اين ترتيب عمل كرد : sal_e_shamsi=tarikh_e_shamsi[0]; mah_e_shamsi=tarikh_e_shamsi[1]; rooz_e_shamsi=tarikh_e_shamsi[2]; براي برعكسش هم همينجوريه . فقط فراموش نشه كه متن كلاس رو توي فايل AS و كنار فايل Swf تون ذخيره كنيد . البته استفاده از كلاس براي اين كار ( تبديل تاريخها) كار درستي نيست . به نظرم كار اضافه است و دو تا تابع هم ميتونند همين كار رو انجام بدن . پس روش ساده تر و بهتر اينه كه تابعهاي به كار رفته در كلاس رو يه جايي توي فايل تون كپي كنيد و ازشون استفاده كنيد . fahimehf 02 تير 1386, 11:21البته گفتم که من آشنایی زیادی با فلش ندارم . اگه لطف کنید در سطح مبتدی توضیح بدید خیلی خوبه. درهر صورت ممنون hamid_rotosh 04 تير 1386, 10:15لطف كنيد يه نمونه بذارين همه استفاده كنن shirini_forush 05 تير 1386, 13:34نمونه ی سامان جان رو خیلی بهش دقت نکردم. ولی این کامله و دقیق ترین الگوریتم رو داره (الگوریتم های زیادی برای تبدیل جلالی به گرگورین و بالعکس هست که همشون خطا دارن): g_days_in_month = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); j_days_in_month = new Array(31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29); g_months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); j_months = new Array("فروردين","ارديبهشت","خرداد","تير","مرداد","شهريور","مهر","آبان","آذر","دي","بهمن","اسفند"); g_days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); j_days = new Array("شنبه","يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه"); function div(a,b) { return Math.floor(a/b); } function gregorian_to_jalali(g) { var gy, gm, gd; var jy, jm, jd; var g_day_no, j_day_no; var j_np; var i; gy = g[0]-1600; gm = g[1]-1; gd = g[2]-1; g_day_no = 365*gy+div((gy+3),4)-div((gy+99),100)+div((gy+399),400); for (i=0;i<gm;++i) g_day_no += g_days_in_month[i]; if (gm>1 && ((gy%4==0 && gy%100!=0) || (gy%400==0))) ++g_day_no; g_day_no += gd; j_day_no = g_day_no-79; j_np = div(j_day_no, 12053); j_day_no %= 12053; jy = 979+33*j_np+4*div(j_day_no,1461); j_day_no %= 1461; if (j_day_no >= 366) { jy += div((j_day_no-1),365); j_day_no = (j_day_no-1)%365; } for (i = 0; i < 11 && j_day_no >= j_days_in_month[i]; ++i) { j_day_no -= j_days_in_month[i]; } jm = i+1; jd = j_day_no+1; return new Array(jy, jm, jd); } function jalali_to_gregorian(j) { var gy, gm, gd; var jy, jm, jd; var g_day_no, j_day_no; var leap; var i; jy = j[0]-979; jm = j[1]-1; jd = j[2]-1; j_day_no = 365*jy + div(jy,33)*8 + div((jy%33+3),4); for (i=0; i < jm; ++i) j_day_no += j_days_in_month[i]; j_day_no += jd; g_day_no = j_day_no+79; gy = 1600 + 400*div(g_day_no,146097); g_day_no = g_day_no % 146097; leap = 1; if (g_day_no >= 36525) { g_day_no--; gy += 100*div(g_day_no,36524); g_day_no = g_day_no % 36524; if (g_day_no >= 365) g_day_no++; else leap = 0; } gy += 4*div(g_day_no,1461); g_day_no %= 1461; if (g_day_no >= 366) { leap = 0; g_day_no--; gy += div(g_day_no, 365); g_day_no = g_day_no % 365; } for (i = 0; g_day_no >= g_days_in_month[i] + (i == 1 && leap); i++) g_day_no -= g_days_in_month[i] + (i == 1 && leap); gm = i+1; gd = g_day_no+1; return new Array(gy, gm, gd); } function S_J_G(a) { b = jalali_to_gregorian(a); return b[2] + " " + g_months[b[1]] + " " + b[0]; } function S_G_J(a) { b = gregorian_to_jalali(a); return b[2] + " " + j_months[b[1]-1] + " " + b[0]; } function STD_J() { Today = new Date(); j = S_G_J(new Array(Today.getFullYear(),Today.getMonth()+1,Today .getDate())); return j; } function STD_G() { Today = new Date(); j = new Array(Today.getFullYear(),Today.getMonth(),Today.g etDate()); return j[2] + " " + g_months[j[1]] + " " + j[0]; } function jalali_today() { Today = new Date(); j = gregorian_to_jalali(new Array(Today.getFullYear(),Today.getMonth()+1,Today .getDate())); return j[2]+"/"+j[1]+"/"+j[0]; } و میتونید برای استفاده اینا رو تست کنید: trace(S_J_G(new Array(1368,7,15))); a.text = STD_J(); سوال دیگه ای بود بفرمایید. hamid_rotosh 06 تير 1386, 09:00سفير جان كاش يه فايل مي ساختي و اينجا ميذاشتي كه قطعا ازش جواب بگيريم . بازم از كمك هات ممنون shirini_forush 06 تير 1386, 12:57از دست شما :d بفرمایید: hamid_rotosh 24 مرداد 1386, 09:22بازم سلام ... توي اين نمونه اي كه گذاشتين از چپ به راست تاريخ رو مينويسه و روزهاي هفته رو هم نداره ... چنين امكاني رو من قبلا توي يه فايل فلش ديده بودم ... اگه اينا رو هم توضيح بدين عالي ميشه :) shirini_forush 24 مرداد 1386, 12:56همه چی داره عزیزم. دیگه نمیشه که من لقمه رو بجوم بذارم تو دهن شما :دی rtl و ltr هم ربطی به js نداره باید تو خروجی تون تنظیم بشه. آرایه ی روز های هفته هم هست. thanks ه قبلیا رو هم هنوز نزدی که سوال جدید میکنی :پی شاد باشی hamid_rotosh 25 مرداد 1386, 08:16عذر میخوام اگه بهتون بر خورده . من قصد ندارم شما رو توی زحمت بندازم . گفتم اگه ممکنه . . . در هر حال ازتون بخاطر راهنمایی های که میکنید تشکر میکنم . shirini_forush 25 مرداد 1386, 10:35نه گرامی. چرا بربخوره؟! پست هایی که من میزنم رو کلا با لحن دوستانه بخونید. من هیچ وقت پستای تند نمیزنم :wink: تو ضیحات رو هم که اجمالی دادم. اگر سوال دارید بفرمایید. hamid_rotosh 27 مرداد 1386, 06:02من با فلش کارهای مولتی مدیا انجام میدم برای همین هم سوالات زیادی میپرسم چون چیز زیادی از اکشن اسکریپت نمیدونم. چیزهایی زیادی از این انجمن یاد گرفتم و اینو مرهون زحمات شما هستم . امیدوارم موفق باشید . اگر هم پرسیدم بخاطر این بود که نمونه شما واقعا ایام هفته رو نمایش نمیده در حالی که دیدم توی کد ها ایام هفته بود ولی در خروجی نشون نمیداد . بعدش هم هر هرکاری کردم که بتونم چیدمان نوشته های خروجی رو درست کنم نتونستم . اصراری به پاسخ گویی شما ندارم ... گفتم که ... اگه براتون زحمت نیست !!! shirini_forush 27 مرداد 1386, 12:12مشکلی نیست. شما دقیقا بگو میخواید تو چه محیطی جواب بگیری (فلش یا Html یا...) و فرمتش رو هم بگو. مثلا: دوشنبه 23 خرداد 1386 یا... من اگر بتونم کمک میکنم. شاد باشید hamid_rotosh 28 مرداد 1386, 06:42نهایاتا از فایل هام خروجی swf میگیرم . . . به همین صورتی که گفتید کارم راه می افته : دوشنبه 23 خرداد 1386 .... بازم ممنون hamid_rotosh 03 شهريور 1386, 06:42بازم سلام ... پس ما منتظر نباشيم ديگه ... سفير جان خواستم از زحمتهايي كه ميكشيد يه بار ديگه تشكر كنم . موفق باشيد. shirini_forush 04 شهريور 1386, 17:29سلام حمید جان شرمنده من به کلی یادم رفت. بفرما. این تابع رو اضافه کن و هر جا خواستی صداش کن: function LTR_S_G_J() { Today = new Date(); day = Today.getDay(); b = gregorian_to_jalali(new Array(Today.getFullYear(),Today.getMonth()+1,Today .getDate())); return j_days[day]+" "+b[2]+" "+j_months[b[1]-1] + " " + b[0]; } hamid_rotosh 05 شهريور 1386, 06:58ممنون از اينكه زحمت ميكشي و جواب ميدي . ولي متاسفانه نميتونم ازش جواب بگيرم . ظاهرا ديگه بايد بي خيالش بشم . ممنون .... :) shirini_forush 05 شهريور 1386, 07:55آخه چرا؟! مشکل کجاس :( hamid_rotosh 05 شهريور 1386, 16:33من كاملا شرمنده شما شدم .... از بس كه توي زحمت افتاديد . . . من هر كار ميكنم همونطوري كه بود هست . :cry:
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1161]