PDA

View Full Version : این هم تابع مبدل تاریخ



roze_abi-r
جمعه 23 شهریور 1386, 03:08 صبح
Public WeekDayNamef(6) As String
Public MonthNamef(11) As String
Public YerF As Integer, MontF As Integer, DayF As Integer, WeekDayF As Integer
Public Sub DateF(YerF As Integer, MontF As Integer, DayF As Integer, WeekDayF As Integer)
EYear = Year(Date)
EMonth = Month(Date)
EDay = Day(Date)
WeekDayF = Weekday(Date, vbSaturday) - 1
If EYear Mod 4 = 0 Then Kdat = 1: Kdat3 = 1
If (EYear - 1) Mod 4 = 0 And (EMonth * 100 + EDay) < 321 Then Kdat = 1: Kdat2 = 1: Kdat3 = 0
Roozf = 0
For i = 1 To EMonth - 1
Select Case i
Case 1, 3, 5, 7, 8, 10, 12: Rang = 31
Case 2: Rang = 28 + Kdat3
Case 4, 6, 9, 11: Rang = 30
End Select
Roozf = Roozf + Rang
Next i
Roozf = Roozf + EDay
Roozf = Roozf - 79
If Roozf <= 0 Then Roozf = Roozf + 365 + Kdat2
If Roozf < 187 Then
MonthDays = 31
DayF = Roozf - ((Roozf \ 31) * 31)
Ldat = 1
If DayF = 0 Then DayF = 31: Ldat = 0
MontF = Roozf \ 31 + Ldat
End If
If Roozf > 186 Then
Roozf = Roozf - 6
DayF = Roozf - ((Roozf \ 30) * 30)
Ldat = 1
If DayF = 0 Then DayF = 30: Ldat = 0
MontF = Roozf \ 30 + Ldat
If MontF < 12 Then MonthDays = 30 Else MonthDays = 29 + Kdat2
End If
If (EMonth * 100 + EDay) > 320 - Kdat Then gdat = 621 Else gdat = 622
If DayF = 30 And MontF = 12 Then gdat = 22
YerF = EYear - gdat
End Sub
Public Sub DateFarsi()

MonthNamef(0) = "فروردین"
MonthNamef(1) = "اردیبهشت"
MonthNamef(2) = "خرداد"
MonthNamef(3) = "تیر"
MonthNamef(4) = "مرداد"
MonthNamef(5) = "شهریور"
MonthNamef(6) = "مهر"
MonthNamef(7) = "آبان"
MonthNamef(8) = "آذر"
MonthNamef(9) = "دی"
MonthNamef(10) = "بهمن"
MonthNamef(11) = "اسفند"
WeekDayNamef(0) = "شنبه"
WeekDayNamef(1) = "یکشنبه"
WeekDayNamef(2) = "دو شنبه"
WeekDayNamef(3) = "سه شنبه"
WeekDayNamef(4) = "چهار شنبه"
WeekDayNamef(5) = "پنج شنبه"
WeekDayNamef(6) = "جمعه"

Call DateF(YerF, MontF, DayF, WeekDayF)
[نام فرم].[نام کنترل].[متد ] = YerF + "/" + MontF + "/" + DayF + "" + WeekDayNamef(DayF)

End Sub


میتونید این کد رو در یک ماژول کد قرار بدید یا اینکه در ماژول فرم که در اینصورت نیازی به نام فرم ندارید

Hossein Bazyan
جمعه 23 شهریور 1386, 13:07 عصر
سلام
دوستان باور کنید بیشتر از ده مورد انواع تابع مبدل تاریخ در همین سایت داده و دوستان زحمت آنرا کشیده اند . مثل اینکه تبدیل تاریخ کار بینهایت مشکلیه که ذهن دوستان را اینقدر به خود مشغول نموده. با این همه توابع آدم گیر میکنه از کدام یک استفاده کنه در ضن امکان آزمایش تک تک آنها هم امکان نداره
من خودم از تابعی که خودم نوشته ام سالهاست استفاده میکنم و هیج مشکلی هم باهاش نداشته ام البته تابع من تابع خارق العاده ای نیست بلکه مانند همین توابع ارائه شده در سایت میباشد اما حسنش اینه که من برای استفاده از توابع دیگر دودل نشده ام