PDA

View Full Version : تشخیص روز زوج از روی تاریخ



sg.programmer
پنج شنبه 01 تیر 1396, 12:12 عصر
سلام چطور میتونم تشخیص بدم که تاریخ وارد شده مثلا (1396/3/31) در تکس باکس ، روزش فرد هست یا زوح؟
زوج (شنبه - دو شنبه - چهارشنبه)
فرد (مابقی)

ali_md110
پنج شنبه 01 تیر 1396, 12:56 عصر
روز این تاریخ 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;
}

ASKaffash
پنج شنبه 01 تیر 1396, 12:59 عصر
سلام
تاریخ شمسی را به میلادی تبدیل کنید و براساس عدد خاصیت DayOfWeek (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.DateTime/property:DayOfWeek:System.DayOfWeek) می توانید زوج یا فرد بودن را مطلع شوید مثلا" DayOfWeek (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.DayOfWeek).Friday (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.DayOfWeek/Friday) مقدار 6 را دارد

ژیار رحیمی
شنبه 03 تیر 1396, 00:54 صبح
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;
}