ورود

View Full Version : استفاده از تابع Format



Restlesa
چهارشنبه 18 خرداد 1390, 13:11 عصر
سلام بر همگی دوستان عزیز
به کد زیر توجه کنید :

List1.AddItem Format(Now, "ddd") + " - " + Format(Now, "mm/dd/yyyy")


کد بالا تاریخ رو به صورت ...هار شنبه s2011/08/06 در لیست باکس فرم مورد نظرم چاپ می کنه
در صورتی که می خوام خروجی به دو صورت Wednesday,June 08,2011 و چهار شنبه،2011/06/08 در لیست باکسم چاپ بشه
لطفا راهنماییم کنید

M.T.P
چهارشنبه 18 خرداد 1390, 15:24 عصر
تابع فرمت به شکل:

Format(Now, "ddd")
روز هفته را بر اساس تنظیمات منطقه ای ویندوز بر میگردونه و تابع مشابه اون هست:

WeekdayName(Weekday(Now))
اگه می خواهید همیشه به شکل دلخواه شما و به صورت تقویم میلادی باشه می تونید از تابع زیر استفاده کنید:


Function DayOfWeek() As String
Dim IntDay As Integer
IntDay = Weekday(Now, vbSaturday)
Select Case IntDay
Case 1: DayOfWeek = "Saturday"
Case 2: DayOfWeek = "Sunday"
Case 3: DayOfWeek = "Monday"
Case 4: DayOfWeek = "Tuesday"
Case 5: DayOfWeek = "Wednesday"
Case 6: DayOfWeek = "Thursday"
Case 7: DayOfWeek = "Friday"
End Select
End Function

و برای روز هفته فارسی:


Function PersianDayOfWeek() As String
Dim IntDay As Integer
IntDay = Weekday(Now, vbSaturday)
Select Case IntDay
Case 1: PersianDayOfWeek = "شنبه"
Case 2: PersianDayOfWeek = "یک شنبه"
Case 3: PersianDayOfWeek = "دو شنبه"
Case 4: PersianDayOfWeek = "سه شنبه"
Case 5: PersianDayOfWeek = "چهار شنبه"
Case 6: PersianDayOfWeek = "پنج شنبه"
Case 7: PersianDayOfWeek = "جمعه"
End Select
End Function

در کل چون تنظیمات منطقه ای سیستم مقصد معلوم نیست بهتره از توابع بالا استفاده کنید و Format رو بی خیال شید.

Restlesa
چهارشنبه 18 خرداد 1390, 16:30 عصر
ممنونم دوست عزیز
اما این کدهایی که شما برای من گذاشتین فقط روزهای هفته رو بر می گردونه
من می خوام علاوه بر درج روز هفته تاریخ رو نیز به دو صورت فارسی و انگلیسی چاپ کنه مثل Data & Time برنامه Word 2007

M.T.P
چهارشنبه 18 خرداد 1390, 16:45 عصر
خب شما به هر شکلی که بخوایی می تونی دو نمونه زیر نمونه هایی هست که خواستی:

MsgBox Format$(Now, "ddd , mmm dd ,yyyy")
MsgBox Format$(Now, "ddd , yyyy/mm/dd")

البته mmm ماه جاری رو بصورت فارسی میزنه ، یعنی June رو ژوئن میزنه که شما می تونی یک تابع مثل توابع من نوشته و با Select ماه رو بصورت لاتین دراری و نمایش بدی.
اگه باز هم کارتون راه نیافتاد تو آرشیوهام یک ماژول تاریخ به فرمت های مختلف دارم بگین تا آپلود کنم.

Restlesa
پنج شنبه 19 خرداد 1390, 22:52 عصر
میشه بیشتر توضیح بدی ؟؟؟
همون طوری که خودت گفتی دستور mmm ماه جاری سیستم رو فارسی میزنه حالا من چه طوری می تونم از توابعی که برام در پست 2 گذاشتی استفاده کنم ؟؟؟
منظورم اینه که چه جوری ادغامشون کنم ؟؟؟؟

Restlesa
شنبه 21 خرداد 1390, 20:02 عصر
کسی نیست راهنماییم کنه ؟؟؟؟
آقای M.YT.P شما چه طور ؟؟؟

M.T.P
شنبه 21 خرداد 1390, 20:46 عصر
Function MonthOfYear() As String
Dim IntMonth As Integer
IntMonth = Month(Now)
Select Case IntMonth
Case 1: MonthOfYear = "January"
Case 2: MonthOfYear = "February"
Case 3: MonthOfYear = "March"
Case 4: MonthOfYear = "April"
Case 5: MonthOfYear = "May"
Case 6: MonthOfYear = "June"
Case 7: MonthOfYear = "July"
Case 8: MonthOfYear = "August"
Case 9: MonthOfYear = "September"
Case 10: MonthOfYear = "October"
Case 11: MonthOfYear = "November"
Case 12: MonthOfYear = "December"
End Select
End Function