سلام چطور میتونم تشخیص بدم که تاریخ وارد شده مثلا (1396/3/31) در تکس باکس ، روزش فرد هست یا زوح؟
زوج (شنبه - دو شنبه - چهارشنبه)
فرد (مابقی)
Printable View
سلام چطور میتونم تشخیص بدم که تاریخ وارد شده مثلا (1396/3/31) در تکس باکس ، روزش فرد هست یا زوح؟
زوج (شنبه - دو شنبه - چهارشنبه)
فرد (مابقی)
روز این تاریخ 31 رو استخراج کن با دستوری مثل
shamsi.Substring(8, 2)
تقسیم بر 2 کن اگر باقیمانده صفر شد روزش زوج هست
و اگر منظورتون بدست آوردن معادل حروفی روز هست منظورم ایام هفته
باید از توابع PersianCalendar استفاده کنی
یک تابع ساده
public string GetShamsiDayOfWeek(string shamsi)
{
var pc = new PersianCalendar();
var dt = Convert.ToDateTime(pc.ToDateTime(Convert.ToInt32(s hamsi.Substring(0, 4)),
Convert.ToInt32(shamsi.Substring(5, 2)),
Convert.ToInt32(shamsi.Substring(8, 2)), 0, 0, 0, 0, PersianCalendar.PersianEra)
);
string dayofweek = "";
switch (pc.GetDayOfWeek(dt))
{
case DayOfWeek.Friday:
dayofweek = "جمعه";
break;
case DayOfWeek.Saturday:
dayofweek = "شنبه";
break;
case DayOfWeek.Sunday:
dayofweek = "یکشنبه";
break;
case DayOfWeek.Monday:
dayofweek = "دوشنبه";
break;
case DayOfWeek.Tuesday:
dayofweek = "سه شنبه";
break;
case DayOfWeek.Wednesday:
dayofweek = "چهار شنبه";
break;
case DayOfWeek.Thursday:
dayofweek = "پنج شنبه";
break;
}
return dayofweek;
}
private bool IsDayEven(string pdate)//1396/04/01
{
var year =Convert.ToInt32(pdate.Substring(0, 4));
var month = Convert.ToInt32(pdate.Substring(5, 2));
var day = Convert.ToInt32(pdate.Substring(8, 2));
var dt = new DateTime(year, month, day, new PersianCalendar());
return dt.DayOfWeek== DayOfWeek.Saturday||
dt.DayOfWeek == DayOfWeek.Monday||
dt.DayOfWeek == DayOfWeek.Wednesday;
}