من شخصا همیشه با این تبدیل مشکل داشتم. هزار جور الگوریتم و نظریه و کد و … دیده بودم و از همشون هم استفاده کردم. همشون هم برخلاف ادعای نویسنده با سال های کبیسه مشکل داشتن. تا اینکه برخورد کردم به یه الگوریتم که روش محاسبه تاریخ رو در اکسل شرح داده بود. از اون الگوریتم استفاده کردم و این کانورتور رو حدود یک سال و نیم پیش نوشتم و ازش استفاده کردم تا به امروز.

تا الان که درست جواب داده و من هم ازش راضیم. کد هسته اصلی هم اینه:
<%
Function FLOOR(My_Num)
the_Int = INT (My_Num)
if the_Int> My_Num then the_Int = the_Int -1
FLOOR=the_Int
End Function
//Selecting a Date to Convert : Today is Selected
Date_to_Convert = date()
//Calculating No. of Days from 1/1/1900 until now
days_until_today=datediff(“d”,01/01/1900,date())
// Defining This Jalali Year: Easy Formula Based on Excel Calculation
Jalali_Year_Val=int((days_until_today-7358)/365.25)+1299
// This Block Calculates Jalali Month Value
// Start of Block
Var0=days_until_today-7385
If INT(((Var0)*100 mod 36525)/100)<186 then
Var1= INT(INT(((Var0)*100 mod 36525)/100)/31)
Else
IF (INT((Var0)/365.25) mod 4)=0 then
Var1= INT((INT(((Var0)*100 mod 36525)/100)-186)/30)+6
Else
IF INT(((Var0)*100 mod 36525)/100)<336 then
Var1= INT((INT(((Var0)*100 mod 36525)/100)-186)/30)+6
Else
INT((INT(((Var0)*100 mod 36525)/100)-336)/29)+11
End if
End if
End if
Jalali_Month_Val= (Var1 mod 12)+1
// End of Block
// This Block Calculates Jalali Day Value
// Start of Block
IF INT((Var0*100 mod 36525)/100)<186 then
Var1=(INT((Var0*100 mod 36525)/100) mod 31)+1
Else
IF (INT(Var0/365.25) mod 4)=0 then
Var1=(INT(((Var0*100 mod 36525)/100)-186) mod 30)+1
Else
IF INT((Var0*100 mod 36525)/100)<336 then
Var1=(INT(((Var0*100 mod 36525)/100)-186) mod 30)+1
Else
Var1= (INT(((Var0*100 mod 36525)/100)-336) mod 29)+1
End if
End if
End if
Jalali_Day_Val=Var1
// End of Block
// Final Step
// Echo
Jalali_Date_String = Jalali_Day_Val&” / “&Jalali_Month_Val&” / “&Jalali_Year_Val
Response.Write “<p dir=rtl>”&Jalali_Date_String&”<BR></p>”
%>
این کانورتور به ASP هست و خیلی ساده که با کمی دستکاری و تغییر می تونین قشنگترش کنید یا تبدیلش کنید به PHP یا VB یا هر چیز دیگه و ازش استفاده کنید.
- معرفی 42 تبلیغ غیرمعمول اما موثر از کفش ها
- با خودکار خود غذا میل کنید!!
- بازار داغ شایعات: آیا اپل آیپد 3 را روز تولد جابز عرضه می کند؟
- ساخت روباتی با گالکسی تب و گالکسی اس 2 سامسونگ
- بالا بردن عمر لپ تاپ با چند نکته ساده
- صفحه کلید همراه فوق باریک برای تبلت ها
- با کمک گوگل، نسخه تبلت و موبایل سایت خود را بسازید
- درخواست اپل برای ممنوعیت فروش تبلت و تلفن گلکسی سامسونگ در آمریکا رد شد
- کنترل گوشی با چشم، رویایی که به حقیقت پیوست
- حافظه یو اس بی یا کامپیوتر دو هسته ای؟
- چگونه آیفون خود را ریست کنیم؟
- راه اندازی فروشگاه موسیقی آنلاین گوگل
- آموزش فعالسازی کیبرد مجزای فارسی در iOS5 بدون جیلبریک
- چگونه فایل های تورنت را بوسیله نرم افزار IDM دانلود کنیم ؟
- یک نرم افزار به جای هفتاد و پنج نرم افزار
- winpenpack کوهی از نرم افزارهای پرتابل
- سامسونگ، رقیب جدی برای اپل
- اضافه کردن چت فیسبوک به مولتی مسنجر Pidgin
- گوگل، شرکت موتورولا را می خرد
- چگونگی ارسال مطالب از گوگل پلاس به توئیتر
- در ۲۰۱۲ چه بر سر ما خواهد آمد؟
- برای نرم افزارهای مختلف جایگزین پیدا کنید
- ساخت برگه به کمک تمپلیت ها در وردپرس
- لبه
- کوچولوی دوست داشتنی (MP3 Player P2 سامسونگ)
- بازیافت گراب اوبونتو بعد از نصب ویندوز
- بلندگوهائی با طرح شخصیت های پرندگان خشمگین
- ۱۰ طرح جالب برای هاب یو.اس.بی
- متمایز کردن نظرات نویسنده بلاگ در وردپرس
- دانلود بازی پرندگان خشمگین برای کامپیوترهای شخصی




