نمایش روزهای هفته در سی شارپ (#C)
نمایش روزهای هفته در سیشارپ با استفاده از DateTime و DayOfWeek انجام میشود و امکان نمایش نام روزها به زبانهای مختلف را دارد
نمایش روزهای هفته در سی شارپ (#C)
نمایش روزهای هفته در سیشارپ یکی از نیازهای رایج در برنامههای دسکتاپ، وب، موبایل و حتی سرویسهای بکاند است.
بسیاری از برنامهها باید روز جاری را نمایش دهند، روزهای هفته را در تقویم نشان دهند، بر اساس روز هفته عملیات خاصی انجام دهند یا تاریخها را بهصورت فارسی و انگلیسی نمایش دهند.
زبان #C امکانات مناسبی برای مدیریت تاریخ و زمان در اختیار برنامهنویسان قرار داده است که مهمترین آنها کلاس DateTime و Enumeration یا شمارشگر DayOfWeek هستند.
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)” اشتراک بزارید
برای ارسال نظر لطفا ورود یا ثبت نام کنید