PDA

View Full Version : شماره هفته در سال شمسي



hamidprogramer
پنج شنبه 07 آبان 1388, 08:54 صبح
سلام اين كدي كه گذاشتم شماره هفته را نمايش مي دهد البته سال ميلادي، ولي من سال شمسي رو ميخواهم لطفاً راهنمايي فرماييد.

CultureInfo myCI = new CultureInfo("fa-Ir");
Calendar myCal = myCI.Calendar;
CalendarWeekRule myCWR = myCI.DateTimeFormat.CalendarWeekRule;
DayOfWeek myFirstDOW = myCI.DateTimeFormat.FirstDayOfWeek;
myCal.GetWeekOfYear(DateTime.Now, myCWR, myFirstDOW);

system32
پنج شنبه 07 آبان 1388, 09:48 صبح
از PersianCalender استفاده نمایید.

hamidprogramer
شنبه 09 آبان 1388, 10:10 صبح
لطفاً توضيح دهيد.
تابعي كه در persian calendar وجود داره بنام Weekofyear داراي ارگومانهايي هست كه محاسبه انها رو نتونستم بدست بيارم.

voldemort1
شنبه 09 آبان 1388, 13:41 عصر
با این کدها می تونید دسترسی داشته باشید واسه راحتی به String تبدیل کردم:



PersianCalendar jc = new PersianCalendar();
DateTime thisDate = DateTime.Now;
label1.Text = jc.GetDayOfWeek(thisDate).ToString();
label2.Text = jc.GetMonth(thisDate).ToString();
label3.Text = jc.GetDayOfMonth(thisDate).ToString();
label4.Text = jc.GetYear(thisDate).ToString();
label5.Text = jc.GetHour(thisDate).ToString();
label6.Text = jc.GetMinute(thisDate).ToString();
label7.Text = jc.GetSecond(thisDate).ToString();
label8.Text = jc.GetDayOfWeek(thisDate).ToString();

hamidprogramer
سه شنبه 12 آبان 1388, 15:07 عصر
با تشكر
همه چي رو محاسبه كردي جز اوني رو كه من ميخواستم. خوب دقت كن من ()Jc.WeekOfYear رو مي خواهم يعني شماره هفته در سال شمسي. اگر بيشتر دقت مي كردي من كد اون رو براي سال ميلادي گذاشته ام ولي متاسفانه !!!!!!

mehdi.mousavi
سه شنبه 12 آبان 1388, 15:24 عصر
سلام اين كدي كه گذاشتم شماره هفته را نمايش مي دهد البته سال ميلادي، ولي من سال شمسي رو ميخواهم لطفاً راهنمايي فرماييد.

CultureInfo myCI = new CultureInfo("fa-Ir");
Calendar myCal = myCI.Calendar;
CalendarWeekRule myCWR = myCI.DateTimeFormat.CalendarWeekRule;
DayOfWeek myFirstDOW = myCI.DateTimeFormat.FirstDayOfWeek;
myCal.GetWeekOfYear(DateTime.Now, myCWR, myFirstDOW);

سلام.
دقت کنید که weekOfYear بر اساس تاریخ شمسی توسط کلاس PersianCalendar محاسبه میشه، اگرچه ورودی این تابع یک تاریخ میلادی هستش:


DateTime dt = new DateTime(2009, 3, 21, 0, 0, 0);
PersianCalendar pc = new PersianCalendar();
int weekOfYear = pc.GetWeekOfYear(dt, CalendarWeekRule.FirstDay, DayOfWeek.Saturday);

aliprf
سه شنبه 12 آبان 1388, 15:27 عصر
http://barnamenevis.org/forum/showthread.php?p=825399#post825399