بدست آوردن نام روز در سیشارپ
بدست آوردن نام روز در سیشارپ با استفاده از DateTime و DayOfWeek انجام میشود و در مدیریت تاریخ کاربرد زیادی دارد.
بدست آوردن نام روز در سیشارپ
بدست آوردن نام روز در سیشارپ یکی از قابلیتهای کاربردی کلاس DateTime است که به برنامهنویسان امکان میدهد روز هفته مربوط به یک تاریخ مشخص را استخراج و نمایش دهند.
این ویژگی در بسیاری از نرمافزارها مانند سیستمهای حضور و غیاب، سامانههای رزرو آنلاین، تقویمها و برنامههای زمانبندی مورد استفاده قرار میگیرد.
با استفاده از خصوصیت DayOfWeek، متد ToString("dddd") و کلاس CultureInfo میتوان نام روز را به زبانهای مختلف از جمله فارسی و انگلیسی نمایش داد و بر اساس آن تصمیمگیریهای مختلفی در برنامه انجام داد.
کلاس DateTime در سیشارپ
کلاس DateTime در فضای نام System قرار دارد و برای ذخیره و مدیریت تاریخ و زمان استفاده میشود.
نمونه تعریف تاریخ:
DateTime today = DateTime.Now;
یا:
DateTime date =
new DateTime(2026, 6, 29);
اکنون میتوان اطلاعات مختلفی مانند سال، ماه، روز و نام روز هفته را از این شیء استخراج کرد.
دریافت روز هفته با DayOfWeek
سادهترین روش برای بدست آوردن روز هفته استفاده از ویژگی DayOfWeek است.
DateTime today = DateTime.Now;
Console.WriteLine(today.DayOfWeek);
خروجی:
Monday
ویژگی DayOfWeek مقدار را به صورت عضو Enum برمیگرداند.
آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀
با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!
شرکت در دوره آموزش برنامه نویسی سی شارپ
مقادیر Enum DayOfWeek
مقادیر موجود در این Enum عبارتند از:
| مقدار | روز |
| Sunday | یکشنبه |
| Monday | دوشنبه |
| Tuesday | سهشنبه |
| Wednesday | چهارشنبه |
| Thursday | پنجشنبه |
| Friday | جمعه |
| Saturday | شنبه |
مثال روی یک تاریخ مشخص
DateTime date =
new DateTime(2026, 7, 1);
Console.WriteLine(date.DayOfWeek);
خروجی:
Wednesday
تبدیل نام روز به فارسی در سی شارپ
ویژگی DayOfWeek به صورت پیشفرض نام روز را به زبان انگلیسی برمیگرداند.
برای نمایش فارسی میتوان از دستور switch استفاده کرد.
DateTime date = DateTime.Now;
switch(date.DayOfWeek)
{
case DayOfWeek.Saturday:
Console.WriteLine("شنبه");
break;
case DayOfWeek.Sunday:
Console.WriteLine("یکشنبه");
break;
case DayOfWeek.Monday:
Console.WriteLine("دوشنبه");
break;
case DayOfWeek.Tuesday:
Console.WriteLine("سه شنبه");
break;
case DayOfWeek.Wednesday:
Console.WriteLine("چهارشنبه");
break;
case DayOfWeek.Thursday:
Console.WriteLine("پنجشنبه");
break;
case DayOfWeek.Friday:
Console.WriteLine("جمعه");
break;
}
استفاده از Dictionary در سی شارپ
روش حرفهایتر استفاده از 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]);
استفاده از CultureInfo در سی شارپ
یکی از بهترین روشها برای نمایش نام روز، استفاده از کلاس CultureInfo است.
ابتدا فضای نام زیر را اضافه کنید:
using System.Globalization;
سپس:
DateTime today =
DateTime.Now;
CultureInfo culture =
new CultureInfo("en-US");
string dayName =
culture.DateTimeFormat
.GetDayName(today.DayOfWeek);
Console.WriteLine(dayName);
خروجی:
Monday
دریافت نام روز فارسی
CultureInfo culture =
new CultureInfo("fa-IR");
string dayName =
culture.DateTimeFormat
.GetDayName(DateTime.Now.DayOfWeek);
Console.WriteLine(dayName);
خروجی:
دوشنبه
استفاده از ToString
متد ToString نیز امکان نمایش نام روز را فراهم میکند.
DateTime today =
DateTime.Now;
Console.WriteLine(
today.ToString("dddd"));
خروجی:
Monday
نمایش نام کوتاه روز
Console.WriteLine(
DateTime.Now.ToString("ddd"));
خروجی:
Mon
نمایش نام فارسی با ToString
CultureInfo culture =
new CultureInfo("fa-IR");
Console.WriteLine(
DateTime.Now.ToString(
"dddd",
culture));
خروجی:
دوشنبه
مثال کاربردی: تشخیص تعطیلی
فرض کنید بخواهیم بررسی کنیم امروز جمعه است یا خیر.
if(DateTime.Now.DayOfWeek
== DayOfWeek.Friday)
{
Console.WriteLine(
"امروز تعطیل است");
}
else
{
Console.WriteLine(
"روز کاری است");
}
مثال کاربردی: نمایش پیام بر اساس روز هفته
switch(DateTime.Now.DayOfWeek)
{
case DayOfWeek.Saturday:
Console.WriteLine("شروع هفته");
break;
case DayOfWeek.Friday:
Console.WriteLine("آخر هفته");
break;
default:
Console.WriteLine("روز کاری");
break;
}
مثال کاربردی: سیستم حضور و غیاب
DateTime currentDate =
DateTime.Now;
string day =
currentDate.ToString("dddd");
Console.WriteLine(
$"امروز {day} است");
استخراج نام روز از تاریخ ورودی کاربر
Console.WriteLine(
"تاریخ را وارد کنید:");
string input =
Console.ReadLine();
DateTime date =
DateTime.Parse(input);
Console.WriteLine(
date.DayOfWeek);
استفاده از TryParse در سی شارپ
روش ایمنتر:
string input =
Console.ReadLine();
DateTime date;
if(DateTime.TryParse(
input,
out date))
{
Console.WriteLine(
date.DayOfWeek);
}
else
{
Console.WriteLine(
"تاریخ نامعتبر است");
}
نمایش روزهای هفته در حلقه
foreach(DayOfWeek day
in Enum.GetValues(
typeof(DayOfWeek)))
{
Console.WriteLine(day);
}
خروجی:
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
نمایش روزهای هفته به فارسی
CultureInfo culture =
new CultureInfo("fa-IR");
foreach(DayOfWeek day
in Enum.GetValues(
typeof(DayOfWeek)))
{
Console.WriteLine(
culture.DateTimeFormat
.GetDayName(day));
}
بدست آوردن شماره روز هفته
گاهی به جای نام روز به شماره آن نیاز داریم.
int dayNumber =
(int)DateTime.Now.DayOfWeek;
Console.WriteLine(dayNumber);
خروجی:
1
مقادیر:
| عدد | روز |
| 0 | Sunday |
| 1 | Monday |
| 2 | Tuesday |
| 3 | Wednesday |
| 4 | Thursday |
| 5 | Friday |
| 6 | Saturday |
مثال پروژهای: رزرو نوبت
فرض کنید کاربران فقط در روزهای کاری امکان رزرو داشته باشند.
DateTime selectedDate =
DateTime.Now;
if(selectedDate.DayOfWeek
== DayOfWeek.Friday)
{
Console.WriteLine(
"رزرو در روز جمعه امکانپذیر نیست");
}
else
{
Console.WriteLine(
"رزرو انجام شد");
}
مثال پروژهای: ارسال گزارش هفتگی
if(DateTime.Now.DayOfWeek
== DayOfWeek.Thursday)
{
Console.WriteLine(
"گزارش هفتگی ارسال شود");
}
مزایای استفاده از DayOfWeek در سی شارپ
-
سادگی
تنها با یک دستور میتوان روز هفته را بدست آورد. -
سرعت بالا
نیازی به محاسبات پیچیده ندارد.
-
سازگاری کامل با DateTime
مستقیماً با کلاس DateTime کار میکند. -
پشتیبانی از فرهنگهای مختلف
با CultureInfo میتوان نام روز را به زبانهای مختلف نمایش داد.
نکات مهم DayOfWeek در سیشارپ
-
DayOfWeek یک Enum است
بنابراین میتوان مستقیماً آن را در شرطها استفاده کرد.
if(date.DayOfWeek ==
DayOfWeek.Saturday)
{
}
-
برای نمایش فارسی از CultureInfo استفاده کنید
new CultureInfo("fa-IR")
-
برای نمایش کامل روز از dddd استفاده کنید
DateTime.Now.ToString("dddd")
-
برای نمایش کوتاه روز از ddd استفاده کنید
DateTime.Now.ToString("ddd")

جمعبندی
بدست آوردن نام روز در سیشارپ با استفاده از کلاس DateTime بسیار ساده و کاربردی است.
ویژگی DayOfWeek امکان تشخیص روز هفته را فراهم میکند و با استفاده از CultureInfo یا متد ToString("dddd") میتوان نام روز را به زبانهای مختلف از جمله فارسی نمایش داد.
این قابلیت در پروژههای مختلف مانند سیستمهای حضور و غیاب، رزرو آنلاین، گزارشگیری، برنامههای مالی و سامانههای مدیریتی کاربرد فراوانی دارد.
تسلط بر کار با تاریخ و روزهای هفته یکی از مهارتهای مهم برای هر برنامهنویس سیشارپ محسوب میشود.


کاربران ما
شما هم نظرتون با ما دریاره “بدست آوردن نام روز در سیشارپ” اشتراک بزارید
برای ارسال نظر لطفا ورود یا ثبت نام کنید