يک تقويم شمسي درست و حسابي

mehrabadi

Member
با سلام
من هرچه گشتم يک تقويم شمسي درست و حسابي گير نياوردم. اگر کسي داره لطف کنه در دست رس ما بگذاره. البته بگم جاوا نمي خوام اي اس پي مي خوام .
 

دایی محسن

Active Member
منظورت از درست و حسابی چیه ؟ من خودم دنبال یک تقویم می گردم که برای هر روز یه پیغام مشخصی رو نشون بده
 

amirlol

Well-Known Member
دایی محسن کاری که می خوای انجام بدی راحته !!! کاری نداره که !!!

برای شما هم دوست من بگم خود من گشتم مخصوصآ ماهانشو ! و پیدا نکردم و بلاخره نشستم و خودم برای کار خودم آسین بالا زدم !!!!

راستی این تاپیک رو نمونشو خودم ایجاد کردم !!!
ایجاد تاپیک قبل از جستجو
 

mehrabadi

Member
خدمت دوست عزیز جناب amirlol
خوب چرا عصبانی می شی ما زمین خوردتیم. من گشتم پیدا نکردم. اگر لطف کنی و آن را دوباره بگذاری ممنون می شم .البته من فقط یه چیز سائه می خوام تا بتونم نوشته ای که اعضا به بانک اضافه می کنند را بر اساس تاریخ طبقه بندی کنم. مثلا به صورت پنج شنبه 27 مهر 85
از همه دوستان هم متشکرم
 

mehrabadi

Member
با سلام
هاست ما امکان دسترسی به دات نت را ندارد و فقط از asp معمولی پشتیبانی می کند.
لطفا asp ساده بگذارید
 

amirlol

Well-Known Member
کد:
<% 

   '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   ':::                                                                                            :::
   ':::                                                                                            :::
   ':::                                                                                            :::
   ':::       This script is Copyright © 2005 by amirElahi      :::
   ':::                 eLol Programming & Designing Studio                   :::
   ':::                            ALL RIGHT RESERVED                                :::
   ':::                                                                                           :::
   ':::                   -----------------------------------------                     :::
   ':::                             WwW.eLol.Ir                              :::
   ':::                     AmirElahi[ at ]gmail[ dot ]com                       :::
   ':::                   -----------------------------------------                      :::
   ':::                                                                                            :::
   ':::                             ORDERED BY Elol.Ir                                 :::
   ':::                               www.ELol.Ir                                    :::
   ':::                                                                                            :::
   ':::                                                                                            :::
   '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


Function persian_weekday(iYear, iMonth, iDay) 
    jdn = persian_jdn(iYear, iMonth, iDay) 
    jdn = ((jdn + 1) MOD 7) 
    persian_weekday = jdn + 2 
    if persian_weekday = 8 then 
        persian_weekday = 1 
    end if 
End Function 

Sub jdn_persian(jdn , iYear, iMonth, iDay) 
    depoch = jdn - persian_jdn(475, 1, 1) 
    cycle = Fix(depoch / 1029983) 
    cyear = depoch Mod 1029983 
    If cyear = 1029982 Then 
        ycycle = 2820 
    Else 
        aux1 = Fix(cyear / 366) 
        aux2 = cyear Mod 366 
        ycycle = Int(((2134 * aux1) + (2816 * aux2) + 2815) / 1028522) + aux1 + 1 
    End If 
    iYear = ycycle + (2820 * cycle) + 474 
    If iYear <= 0 Then 
        iYear = iYear - 1 
    End If 
    yday = (jdn - persian_jdn(iYear, 1, 1)) + 1 
    If yday <= 186 Then 
        iMonth = Ceil(yday / 31) 
    Else 
        iMonth = Ceil((yday - 6) / 30) 
    End If 
    iDay = (jdn - persian_jdn(iYear, iMonth, 1)) + 1 
End Sub 

Private Function Ceil(number) 
    Ceil = -Sgn(number) * Int(-Abs(number)) 
End Function 

Function persian_jdn(iYear, iMonth, iDay) 
    If iYear >= 0 Then 
        epbase = iYear - 474 
    Else 
        epbase = iYear - 473 
    End If 
    epyear = 474 + (epbase Mod 2820) 
    If iMonth <= 7 Then 
        mdays = (CLng(iMonth) - 1) * 31 
    Else 
        mdays = (CLng(iMonth) - 1) * 30 + 6 
    End If 
    persian_jdn = CLng(iDay) + mdays + Fix(((epyear * 682) - 110) / 2816) + (epyear - 1) * 365 + Fix(epbase / 2820) * 1029983 + (1948321 - 1) 
End Function 

Function civil_jdn(iYear, iMonth, iDay) 
   If ((iYear > 1582) Or ((iYear = 1582) And (iMonth > 10)) Or ((iYear = 1582) And (iMonth = 10) And (iDay > 14))) Then 
        lYear = CLng(iYear) 
        lMonth = CLng(iMonth) 
        lDay = CLng(iDay) 
        civil_jdn = ((1461 * (lYear + 4800 + ((lMonth - 14) \ 12))) \ 4) + ((367 * (lMonth - 2 - 12 * (((lMonth - 14) \ 12)))) \ 12) - ((3 * (((lYear + 4900 + ((lMonth - 14) \ 12)) \ 100))) \ 4) + lDay - 32075 
    Else 
        civil_jdn = julian_jdn(iYear, iMonth, iDay) 
    End If 
End Function 

Function julian_jdn(iYear, iMonth, iDay) 
    lYear = CLng(iYear) 
    lMonth = CLng(iMonth) 
    lDay = CLng(iDay) 
    julian_jdn = 367 * lYear - ((7 * (lYear + 5001 + ((lMonth - 9) \ 7))) \ 4) + ((275 * lMonth) \ 9) + lDay + 1729777 
End Function 

Sub jdn_civil(jdn, iyear, imonth, iday) 
    If (jdn > 2299160) Then 
        l = jdn + 68569 
        n = ((4 * l) \ 146097) 
        l = l - ((146097 * n + 3) \ 4) 
        i = ((4000 * (l + 1)) \ 1461001) 
        l = l - ((1461 * i) \ 4) + 31 
        j = ((80 * l) \ 2447) 
        iday = l - ((2447 * j) \ 80) 
        l = (j \ 11) 
        imonth = j + 2 - 12 * l 
        iyear = 100 * (n - 49) + i + l 
    Else 
        Call jdn_julian(jdn, iyear, imonth, iday) 
    End If 
End Sub 

Sub jdn_julian(jdn, iYear, iMonth, iDay) 
    j = jdn + 1402 
    k = ((j - 1) \ 1461) 
    l = j - 1461 * k 
    n = ((l - 1) \ 365) - (l \ 1461) 
    i = l - 365 * n + 30 
    j = ((80 * i) \ 2447) 
    iDay = i - ((2447 * j) \ 80) 
    i = (j \ 11) 
    iMonth = j + 2 - 12 * i
    iMonth = j + 2 - 12 * i
	
    iYear = 4 * k + n + i - 4716 
End Sub 

Sub civil_persian(iYear, iMonth, iDay) 
   Call jdn_persian(civil_jdn(iYear, iMonth, iDay), iYear, iMonth, iDay) 
End Sub 

Sub persian_civil(iYear, iMonth, iDay) 
   Call jdn_civil(persian_jdn(iYear, iMonth, iDay), iYear, iMonth, iDay) 
End Sub 

Function persian_WeekName(iWeek) 
    Select Case iWeek 
    Case 1 persian_WeekName = "شنبه" 
    Case 2 persian_WeekName = "يكشنبه" 
    Case 3 persian_WeekName = "دوشنبه" 
    Case 4 persian_WeekName = "سه شنبه" 
    Case 5 persian_WeekName = "چهارشنبه" 
    Case 6 persian_WeekName = "پنجشنبه" 
    Case 7 persian_WeekName = "جمعه" 
    Case Else persian_WeekName = "Error" 
    End Select 
End Function 



Function persian_MonthName(iMonth)
    Select Case iMonth 
    Case 1 
        persian_MonthName = "فروردين" 
    Case 2 
        persian_MonthName = "اردیبهشت" 
    Case 3 
        persian_MonthName = "خرداد" 
    Case 4 
        persian_MonthName = "تير" 
    Case 5 
        persian_MonthName = "مرداد" 
    Case 6 
        persian_MonthName = "شهريور" 
      '  persian_MonthNamea = "06" 
    Case 7 
        persian_MonthName = "مهر" 
    Case 8 
        persian_MonthName = "آبان" 
    Case 9 
        persian_MonthName = "آذر" 
    Case 10 
        persian_MonthName = "دى" 
    Case 11 
        persian_MonthName = "بهمن" 
    Case 12 
        persian_MonthName = "اسفند" 
    Case Else 
        persian_MonthName = "Error" 
    End Select 
End Function 



Function persian_MonthNamea(iMonth) 
    Select Case iMonth
    Case 1 
        persian_MonthNamea = "01" 
    Case 2 
        persian_MonthNamea = "02" 
    Case 3 
        persian_MonthNamea = "03" 
    Case 4 
        persian_MonthNamea = "04" 
    Case 5 
        persian_MonthNamea = "05" 
    Case 6 
        persian_MonthNamea = "06" 
    Case 7 
        persian_MonthNamea = "07" 
    Case 8 
        persian_MonthNamea = "08" 
    Case 9 
        persian_MonthNamea = "09" 
    Case 10 
        persian_MonthNamea = "10" 
    Case 11 
        persian_MonthNamea = "11" 
    Case 12 
        persian_MonthNamea = "12" 
    Case Else 
        persian_MonthNamea = "00" 
    End Select 
End Function 





%>


یه فانکشنم بنویس براش حله !!
این روزانست نه ماهانه
 

جدیدترین ارسال ها

بالا