تاريخ فارسی

melina

کاربر تازه وارد
تاریخ عضویت
23 مارس 2003
نوشته‌ها
39
لایک‌ها
0
چطور میتونم تاریخ میلادی را در asp به تاریخ شمسی تبدیل کنم؟
با Sql server 2000 کار می کنم و می خواهم تاریخ سیستم را بخوانم و به تاریخ شمسی تبدیل کنم و وارد
بانک اطلاعاتی کنم.
 

koorosh

Registered User
تاریخ عضویت
12 دسامبر 2002
نوشته‌ها
1,525
لایک‌ها
10
سن
38
محل سکونت
Iran - Tehran
سلام دوست عزيز
اينجا رو ببين :
<a href='http://iranasp.net/Tutorial/Article.aspx?articleid=80' target='_blank'>http://iranasp.net/Tutorial/Article.aspx?articleid=80</a>
توی همين سايت IranASP.Net چند تا مقاله ديگه در همين زمينه هست.
اگه مشکلی داشتی در خدمتيم . . .


بهتره تاريخ رو به همون صورت ميلادی در DB ذخيره کنی و در حين نمايش به خورشيدی تبديل کنی . . .


خوش باشی . . .



.
 

weblogger

Registered User
تاریخ عضویت
24 دسامبر 2002
نوشته‌ها
506
لایک‌ها
6
اكثر تبديل تاريخ هايي كه من ديدم در حقيقت بر اساس تاريخ ميلادي كار مي كنند يه فرمول ساده داره
اگه دقت كني ساده ترين راه اينه كه سال ميلادي رو 2 رقم اولش رو از 21 كم كني و دو رقم بعديش رو با 19 عوض كني كه بايد حالتهاي كبيسه و 2000 به بعد رو با IF حل كني

مشكل اساسي اينه كه تاريخ خورشيدي دقيقتر از ميلادي هست و تاريخ ميلادي هر 24 سال يك بار خراب مي شه !
 

shahram_arbab

کاربر تازه وارد
تاریخ عضویت
5 جولای 2003
نوشته‌ها
10
لایک‌ها
0
سلام مي توني از کد زير استفاده کني اگر مشکل داشتي بپرس
Dim modifyDate

public Function M2SDate(myDate)
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(mydate)
idayOfyear=datepart("Y",mydate)

if isly(iyear-1) then
inumdayofyear = 366
aifmonthday(12)=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
M2SDate=ifDay & "/" & ifmonth & "/" & ifyear
end Function

function isly(nyear)
isly= (((nyear Mod 4)=0 And (nyear Mod 100)<>0 ) Or (nyear Mod 400)=0)
end function

Sub showfdate(myDate)
ModifyDate=M2SDate(myDate)
End Sub
 
بالا