تاریخ هجری شمسی در asp.net

rainynight

Member
میشه یه تابعی بدید که تاریخ سیستم رو بگیری و روز و ماه و سال رو جداگانه به هجری شمسی تبدیل کنه با asp.net با زبان Vb و در code behind
ممنون میشم کمک کنید
من همه مقالات راجع به این زمینه رو خوندم ولی کار نمی کرد مشکل داشتن کسی هست که تست شدشو داشته باشه؟؟
 

rainynight

Member
کسی جواب نداد خودم به چیزی نوشتم شاید به درد بقیه بخوره البته حرفه ای نیست ولی کار می کنه
روز و ماه و سال رو جداگانه از سیستم می گیره و جداگانه به شمسی تبدیل می کنه خروجی هاشم 4 تاس:
sy سال رو به شمسی میده بیرون
sd روز رو به شمسی میده
sm ماه رو به عدد شمسی میده
monthname نام ماه شمسی رو میده

Dim dt As Date
dt = DateString()
Dim mm, my, md, w, r, sy, q, l, sm, d, sd, s As String
Dim monthname As String
mm = Month(dt)
my = Year(dt)
md = Day(dt)
mm = Month(dt)
my = Year(dt)
md = Day(dt)

Select Case mm
Case 1
r = md
Case 2
r = md + 31
Case 3
r = md + 28 + 31
Case 4
r = md + 28 + (31 * 2)
Case 5
r = md + 28 + (31 * 2) + 30
Case 6
r = md + 28 + (31 * 3) + 30
Case 7
r = md + 28 + (31 * 3) + (30 * 2)
Case 8
r = md + 28 + (31 * 4) + (30 * 2)
Case 9
r = md + 28 + (31 * 5) + (30 * 2)
Case 10
r = md + 28 + (31 * 5) + (30 * 3)
Case 11
r = md + 28 + (31 * 6) + (30 * 3)
Case 12
r = md + 28 + (31 * 6) + (30 * 4)

End Select



If r > 79 Then
sy = my - 621
r = r - 79

If r < 186 Then
q = r Mod 31
l = Fix(r / 31)
sm = 0
d = 31
Else
r = r - 186
q = r Mod 30
l = Fix(r / 30)

sm = 6
d = 30
End If

If q = 0 Then
sm = sm + l
sd = d
Else

sm = sm + 1 + l


sd = q
End If
Else
sy = my - 622
s = sy - 1
If s Mod 4 = 0 And s Mod 100 = 0 Then
w = 11
ElseIf s Mod 400 = 0 Then
w = 11
Else
w = 10
End If

r = r + w
q = r Mod 30
l = Fix(r / 30)

If q = 0 Then
sm = l + 9
sd = 30
Else
sm = l + 10
sd = q
End If

End If
Select Case sm

Case 1
monthname = "فروردین"
Case 2
monthname = "اردیبهشت"
Case 3
monthname = "خرداد"
Case 4
monthname = "تیر"
Case 5
monthname = "مرداد"
Case 6
monthname = "شهریور"
Case 7
monthname = "مهر"
Case 8
monthname = "آبان"
Case 9
monthname = "آذر"
Case 10
monthname = "دی"
Case 11
monthname = "بهمن"
Case 12
monthname = "اسفند"

End Select
 

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

بالا