"

نمایش روزهای هفته در سی شارپ,DayOfWeek چیست؟,استفاده در Scheduler

نمایش روزهای هفته در سی شارپ (#C)

نمایش روزهای هفته در سی‌شارپ با استفاده از DateTime و DayOfWeek انجام می‌شود و امکان نمایش نام روزها به زبان‌های مختلف را دارد

تیم تحریریه
10
0
24 تیر 1405
لینک کوتاه

نمایش روزهای هفته در سی شارپ (#C)

نمایش روزهای هفته در سی‌شارپ یکی از نیازهای رایج در برنامه‌های دسکتاپ، وب، موبایل و حتی سرویس‌های بک‌اند است.
بسیاری از برنامه‌ها باید روز جاری را نمایش دهند، روزهای هفته را در تقویم نشان دهند، بر اساس روز هفته عملیات خاصی انجام دهند یا تاریخ‌ها را به‌صورت فارسی و انگلیسی نمایش دهند.
زبان #C امکانات مناسبی برای مدیریت تاریخ و زمان در اختیار برنامه‌نویسان قرار داده است که مهم‌ترین آن‌ها کلاس DateTime و Enumeration یا شمارشگر DayOfWeek هستند.



نمایش روزهای هفته در سی شارپ (#C)

DayOfWeek چیست؟

در فضای نام System یک Enumeration به نام DayOfWeek وجود دارد که روزهای هفته را نمایش می‌دهد.

مقادیر این Enumeration عبارت‌اند از:

  • Sunday

  • Monday

  • Tuesday

  • Wednesday

  • Thursday

  • Friday

  • Saturday

 

هر مقدار نیز دارای یک عدد است.


روز  مقدار
0 Sunday 
1 Monday 
2 Tuesday
3 Wednesday
4 Thursday
5 Friday
6 Saturday



 



آیا به دنبال یک فرصت عالی برای یادگیری برنامه
‌نویسی هستید؟ 🚀

با دوره آموزشی سی‌شارپ ما، شما می‌توانید مهارت‌های خود را به سطح جدیدی ارتقا دهید! این دوره به‌طور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامه‌نویسی سی‌شارپ پیش بروید.

👨‍🏫 چرا دوره ما را انتخاب کنید؟

  • محتوای جامع و عملی: با پروژه‌های واقعی و تمرینات عملی، یادگیری را به تجربه‌ای جذاب تبدیل کنید.
  • مدرس مجرب: از تجربه و دانش مدرس حرفه‌ای بهره‌مند شوید که شما را در هر مرحله از یادگیری راهنمایی می‌کنند.
  • پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
  • دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، می‌توانید به آن مراجعه کنید.

💡 فرصت را از دست ندهید!

بایادگیری سی‌شارپ، می‌توانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژه‌های جذاب و چالش‌برانگیز شرکت کنید.

همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده‌ای روشن‌تر بردارید!

شرکت در دوره آموزش برنامه نویسی سی شارپ





دریافت روز جاری هفته

ساده‌ترین روش دریافت روز هفته استفاده از خصوصیت DayOfWeek است.

DateTime today = DateTime.Now;

Console.WriteLine(today.DayOfWeek);

 

خروجی:

 

Monday



ذخیره روز هفته در متغیر

می‌توانید مقدار روز هفته را داخل یک متغیر ذخیره کنید.

 

DayOfWeek day = DateTime.Now.DayOfWeek;




Console.WriteLine(day);

نمایش نام روز به صورت رشته

string dayName = DateTime.Now.DayOfWeek.ToString();




Console.WriteLine(dayName);



استفاده از Switch

یکی از بهترین روش‌ها برای نمایش متن مناسب، استفاده از Switch است.

 

switch(DateTime.Now.DayOfWeek)

{

case DayOfWeek.Saturday:

Console.WriteLine("شنبه");

break;




case DayOfWeek.Sunday:

Console.WriteLine("یکشنبه");

break;




case DayOfWeek.Monday:

Console.WriteLine("دوشنبه");

break;

}



تبدیل روزها به فارسی

می‌توان از Dictionary استفاده کرد.

 

Dictionary<DayOfWeek,string> days =

new Dictionary<DayOfWeek,string>()

{

{DayOfWeek.Saturday,"شنبه"},

{DayOfWeek.Sunday,"یکشنبه"},

{DayOfWeek.Monday,"دوشنبه"},

{DayOfWeek.Tuesday,"سه شنبه"},

{DayOfWeek.Wednesday,"چهارشنبه"},

{DayOfWeek.Thursday,"پنجشنبه"},

{DayOfWeek.Friday,"جمعه"}

};

 

سپس:

 

Console.WriteLine(days[DateTime.Now.DayOfWeek]);



استفاده از آرایه

روش دیگر استفاده از آرایه است.

 

string[] week =

{

"یکشنبه",

"دوشنبه",

"سه شنبه",

"چهارشنبه",

"پنجشنبه",

"جمعه",

"شنبه"

};



استفاده از CultureInfo

برای نمایش روز بر اساس زبان سیستم:

 

using System.Globalization;




Console.WriteLine(

DateTime.Now.ToString("dddd"));

 

اگر Culture سیستم فارسی باشد خروجی فارسی خواهد بود.

 

تعیین Culture

CultureInfo culture =

new CultureInfo("fa-IR");




Console.WriteLine(

DateTime.Now.ToString("dddd",culture));

 

خروجی:

 

دوشنبه

نمایش نام کوتاه روز

Console.WriteLine(

DateTime.Now.ToString("ddd"));

 

مثال:

 

Mon

نمایش کامل روز

Console.WriteLine(

DateTime.Now.ToString("dddd"));

 

مثال:

Monday

 

دریافت شماره روز هفته

int number =

(int)DateTime.Now.DayOfWeek;




Console.WriteLine(number);

 

خروجی:

 

1



بررسی تعطیلی

if(DateTime.Now.DayOfWeek==DayOfWeek.Friday)

{

Console.WriteLine("امروز تعطیل است.");

}



بررسی روز کاری

if(DateTime.Now.DayOfWeek!=DayOfWeek.Friday)

{

Console.WriteLine("روز کاری");

}




بررسی چند روز

if(DateTime.Now.DayOfWeek==DayOfWeek.Thursday

||

DateTime.Now.DayOfWeek==DayOfWeek.Friday)

{

Console.WriteLine("آخر هفته");

}



دریافت روز از تاریخ مشخص

DateTime date =

new DateTime(2026,7,15);




Console.WriteLine(date.DayOfWeek);



نمایش روز همراه تاریخ

Console.WriteLine(

DateTime.Now.ToString(

"dddd dd MMMM yyyy"));

 

نمونه خروجی:

 

Monday 15 July 2026



استفاده در فرم‌های ویندوز

label1.Text=

DateTime.Now.ToString("dddd");



استفاده در ASP.NET

lblDay.Text=

DateTime.Now.ToString("dddd");



استفاده در Console

Console.WriteLine(

DateTime.Now.ToString("dddd"));



نمایش روز فارسی

CultureInfo fa =

new CultureInfo("fa-IR");




Console.WriteLine(

DateTime.Now.ToString("dddd",fa));



دریافت تمام روزهای هفته

foreach(DayOfWeek day

in Enum.GetValues(typeof(DayOfWeek)))

{

Console.WriteLine(day);

}



تبدیل رشته به DayOfWeek

DayOfWeek day =

(DayOfWeek)Enum.Parse(

typeof(DayOfWeek),

"Monday");



بررسی موفقیت تبدیل

DayOfWeek day;




bool result=

Enum.TryParse(

"Friday",

out day);


مقایسه دو روز

if(day==DayOfWeek.Friday)

{

Console.WriteLine("جمعه");

}



استفاده در زمان‌بندی

در بسیاری از پروژه‌ها لازم است عملیات فقط در روز خاصی اجرا شود.

مثلاً:

  • ارسال گزارش هفتگی
  • تهیه نسخه پشتیبان
  • ارسال پیامک
  • محاسبه حقوق
  • بستن حساب‌های روزانه

نمونه:

 

if(DateTime.Now.DayOfWeek

==DayOfWeek.Saturday)

{

Backup();

}



استفاده در Scheduler

بسیاری از Schedulerها بر اساس DayOfWeek کار می‌کنند.

برای مثال:

  • شنبه اجرای Backup
  • دوشنبه ارسال ایمیل
  • پنجشنبه تهیه گزارش
  • جمعه توقف سرویس



تفاوت ddd و dddd

کدهای قالب‌بندی تاریخ تفاوت مهمی دارند.

 

قالب  خروجی
ddd  Mon
dddd  Monday

 

در فرهنگ فارسی:

قالب  خروجی
دو ddd 
 دوشنبه dddd



خطاهای رایج نمایش روزهای هفته در سی شارپ 

برخی اشتباهات رایج عبارت‌اند از:

  • استفاده از شماره روز بدون توجه به اینکه Sunday برابر صفر است.
  • فرض کردن اینکه هفته از شنبه شروع می‌شود.
  • استفاده نکردن از Culture مناسب.
  • تبدیل مستقیم رشته بدون استفاده از TryParse.
  • مقایسه نام رشته‌ای روزها به جای استفاده از DayOfWeek.
  • عدم توجه به تفاوت تقویم میلادی و شمسی.




خطاهای رایج نمایش روزهای هفته در سی شارپ 

نکات مهم نمایش روزهای هفته در سی شارپ 

برای نوشتن کدهای استاندارد بهتر است موارد زیر را رعایت کنید:


  • به‌جای مقایسه رشته‌ها از DayOfWeek استفاده کنید.
  • برای نمایش روزها از CultureInfo بهره ببرید.
  • در برنامه‌های فارسی از فرهنگ fa-IR استفاده کنید.
  • اگر نیاز به تبدیل نام روزها دارید، از Dictionary یا Enum استفاده کنید.
  • در پروژه‌های بزرگ، منطق مربوط به روزهای هفته را در یک کلاس یا سرویس مجزا قرار دهید تا نگهداری کد آسان‌تر شود.



کاربردهای نمایش روزهای هفته در سی شارپ

نمایش روزهای هفته در بسیاری از پروژه‌ها کاربرد دارد، از جمله:

  • سیستم‌های حضور و غیاب

  • فروشگاه‌های اینترنتی

  • سامانه‌های نوبت‌دهی

  • نرم‌افزارهای مالی

  • سیستم‌های آموزشی

  • تقویم‌های آنلاین

  • برنامه‌های مدیریت وظایف

  • اپلیکیشن‌های یادآور

  • سامانه‌های رزرو

  • گزارش‌های مدیریتی




کاربردهای نمایش روزهای هفته در سی شارپ

جمع‌بندی

نمایش روزهای هفته در سی‌شارپ با استفاده از کلاس DateTime و Enumeration قدرتمند DayOfWeek به‌سادگی امکان‌پذیر است.
با کمک متدهایی مانند ToString، کلاس CultureInfo و ساختارهایی مانند switch، Dictionary و Enum می‌توان نام روزها را به زبان‌های مختلف نمایش داد و بر اساس آن‌ها تصمیمات منطقی در برنامه گرفت.

اگر از این قابلیت به‌درستی استفاده کنید، کدهای شما خواناتر، استانداردتر و قابل نگهداری‌تر خواهند بود و پیاده‌سازی قابلیت‌هایی مانند زمان‌بندی، نمایش تقویم، گزارش‌گیری و مدیریت رویدادها نیز بسیار ساده‌تر خواهد ش

محصولات مرتبط

کاربران ما

شما هم نظرتون با ما دریاره “نمایش روزهای هفته در سی شارپ (#C)” اشتراک بزارید

برای ارسال نظر لطفا ورود یا ثبت نام کنید

منو