برای کار با تاریخ و زمان (date & time) در سی شارپ در اولین قدم نیازمند مقداردهی اولیه شی DateTime خواهیم بود. در قدم بعدی باید ویژگیهای این شی را بشناسیم که شامل day، month، year، day of the week، day of year، hour، minute و second میشوند. این ویژگیها هریک دارای سینتکس مخصوص به خود بوده و همگی از طریق شی DateTime قابل دسترسی خواهند بود. از طرف دیگر بعد از بازیابی اطلاعات از این شی این امکان برای شما فراهم شده است تا بتوانید اطلاعات بازیابی شده را در فرمتهای مختلف نمایش دهید. با آموزش برنامه نویسی در سایت بامداد این فرمت ها را یادبگیرید.
این فرمتها به ترتیب عبارتاند از Short Time Format، Long Time Format، Short Date، Long Date، Day/Month و Month/Year که هریک در پروژههای مختلف کاربردهای متفاوتی خواهند داشت. در آموزش برنامه نویسی سی شارپ میتوانید تمامی این فرمتها را به همراه مثال بیاموزید و از هرکدام از آنها برحسب نیازی که دارید استفاده کنید.
چگونه شی DateTime در سی شارپ را مقداردهی اولیه کنیم؟
یکی از مهمترین مهارتهایی است که در بوت کمپ سی شارپ باید آن را به دست بیاورید همین کار با تاربخ و زمان است.در هنگام کار با تاریخ و زمان (date & time) در سی شارپ باید توجه داشت که DateTime یک ساختار در فضای اسمی سیستم است. این ساختار به برنامهنویسان کمک میکند تا اطلاعات مربوط به تاریخ سیستم، زمان، ماه، سال یا حتی روز هفته را بازیابی کنند. از طرف دیگر به کاربران اجازه میدهد تا بتوانند عملیاتی را روی مقادیر تاریخ و زمان بازیابی شده انجام دهند. برای اینکه بتوانیم از این ساختار استفاده کنیم نیازمند این هستیم که یک شی جدید از آن ساخته و با پارامترهای خاصی به شکل زیر آن را مقداردهی اولیه کنیم:
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
// year, month, date
DateTime dt = new DateTime(2018, 11, 05);
Console.WriteLine(dt.ToString());
Console.ReadLine();
}
}
}
در اینجا ما 05 را بهعنوان روز، 11 را بهعنوان ماه و 2018 را بهعنوان سال به این شی دادیم. این شی میتواند زمانی که ما به آن ارائه دادهایم را بهعنوان یک تاریخ روی شی تنظیم کند. حال وقتی که اقدام به چاپ این تاریخ کردیم میتوان خروجی زیر را در آن مشاهده کرد:
11/5/2018 12:00:00 AM
در خروجی بالا مشاهده میکنید که چون ما هیچ مقدار زمانی ارائه ندادیم، از این رو شی DateTime از زمان پیش فرض استفاده کرده است.
همین حالا به بوت کمپ برنامه نویسی بامداد ملحق شوید و آموزش را شروع کنید

ویژگیهای شی DateTime
در هنگام کار با datetime در سیشارپ باید به ین نکته توجه کرد که DateTime تعداد ویژگیهای زیادی را برای کمک به کاربران در هنگام بازیابی اطلاعات مربوط به شی تاریخ و زمان ارائه میدهد. در ادامه برخی از مهمترین ویژگیهای آن را با یکدیگر بررسی خواهیم کرد:
اطلاعات مربوط به روز
ویژگی Day تاریخ تنظیم شی date-time را بازیابی میکند. این ویژگی یک مقدار صحیح برمیگرداند و هیچ آرگومانی را نیز نمیپذیرد. سینتکس آن به شکل زیر خواهد بود:
int date = dt.Day;
ویژگی Month
این ویژگی ماهی که شی date-time در آن تنظیم شده است را بازیابی میکند. مقدار این ویژگی نیز یک عدد صحیح بوده و هیچ آرگومانی نخواهد داشت. سینتکس این ویژگی به شکل زیر است:
int month = dt.Month;
ویژگی Year
این ویژگی سالی که شی date-time در آن تنظیم شده است را بازیابی میکند. مقدار این ویژگی نیز یک عدد صحیح بوده و هیچ آرگومانی نخواهد داشت. سینتکس این ویژگی به شکل زیر است:
int yr = dt.Year;
ویژگی Day of the Week
ویژگی Day of the Week مقدار صحیح روز هفته را از شی date-time بازیابی میکند. همچنین برای پذیرش مقدار صحیح نیازمند کستینگ (casting) خواهد بود. سینتکس آن به شکل زیر است:
int dayWeek = (int)dt.DayOfWeek;
ویژگی Day of Year
ویژگی Day of Year روز سال را از مقدار تعیین شده در تاریخ شی date-time بازیابی میکند. این ویژگی یک عدد صحیح برمیگرداند و هیچ آرگومانی را نیز نمیپذیرد. سینتکس آن به شکل زیر خواهد بود:
int dayYear = dt.DayOfYear;
ویژگی Hour
این ویژگی ساعتی که شی date-time در آن تنظیم شده است را بازیابی میکند. باید دقت داشته باشید که این مقدار یک مقدار صحیح خواهد بود و شما نمیتوانید هیچ آرگومانی را نیز برای این ویژگی تنظیم کنید. سینتکس آن به شکل زیر خواهد بود:
int hour = dt.Hour;
ویژگی Minute
ویژگی Minute همانطور که از نامش پیداست مقدار دقیقهای که شی date-time در آن تنظیم شده است را بازیابی میکند. این ویژگی یک مقدار صحیح باز میگرداند و هیچ آرگومانی را نیز نمیپذیرد. سینتکس این ویژگی به شکل زیر خواهد بود:
int min = dt.Minute;
ویژگی Second
ویژگی Second مقدار ثانیه را از شی date-time بازیابی کرده و یک مقدار صحیح برمیگرداند و البته نباید فراموش کرد که هیچ آرگومانی را نیز نمیپذیرد. سینتکس این ویژگی به شکل زیر خواهد بود:
int sec = dt.Second;
یک مثال کامل از کار با تاریخ و زمان در سی شارپ
پس از آشنایی با ویژگیهای کار با datetime در سیشارپ نیازمند این خواهید بود که به مثالهای کاربردی سی شارپ در این زمینه نیز دسترسی داشته باشید. در ادامه مثالی را برای شما آوردهایم که تمامی این ویژگیها را به طور کامل برای شما توضیح خواهد داد:
using System;
namespace DateTimeFormatInCSharpSample
{
class Program
{
static void Main(string[] args)
{
// Get current DateTime. It can be any DateTime object in your code.
DateTime aDate = DateTime.Now;
// Format Datetime in different formats and display them
Console.WriteLine(aDate.ToString(“MM/dd/yyyy”));
Console.WriteLine(aDate.ToString(“dddd, dd MMMM yyyy”));
Console.WriteLine(aDate.ToString(“dddd, dd MMMM yyyy”));
Console.WriteLine(aDate.ToString(“dddd, dd MMMM yyyy”));
Console.WriteLine(aDate.ToString(“dddd, dd MMMM yyyy”));
Console.WriteLine(aDate.ToString(“dddd, dd MMMM yyyy”));
Console.WriteLine(aDate.ToString(“dddd, dd MMMM yyyy HH:mm:ss”));
Console.WriteLine(aDate.ToString(“MM/dd/yyyy HH:mm”));
Console.WriteLine(aDate.ToString(“MM/dd/yyyy hh:mm tt”));
Console.WriteLine(aDate.ToString(“MM/dd/yyyy H:mm”));
Console.WriteLine(aDate.ToString(“MM/dd/yyyy h:mm tt”));
Console.WriteLine(aDate.ToString(“MM/dd/yyyy HH:mm:ss”));
Console.WriteLine(aDate.ToString(“MMMM dd”));
Console.WriteLine(aDate.ToString(“yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss.fffffffK”));
Console.WriteLine(aDate.ToString(“ddd, dd MMM yyy HH’:’mm’:’ss ‘GMT’”));
Console.WriteLine(aDate.ToString(“yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss”));
Console.WriteLine(aDate.ToString(“HH:mm”));
Console.WriteLine(aDate.ToString(“hh:mm tt”));
Console.WriteLine(aDate.ToString(“H:mm”));
Console.WriteLine(aDate.ToString(“h:mm tt”));
Console.WriteLine(aDate.ToString(“HH:mm:ss”));
Console.WriteLine(aDate.ToString(“yyyy MMMM”));
Console.ReadKey();
}
}
}

فرمتهای مختلف تاریخ در زبان سی شارپ
وقتی قصد آشنایی با datetime در سی شارپ را دارید باید بدانید که فرمتهای مختلفی برای تنظیم تاریخ در این زبان وجود دارد. در ادامه به معرفی این فرمتها پرداخته و توضیحاتی را ارائه خواهیم داد:
Short Time Format: یک فرمت زمانی ساده است که زمان را با یک ساعت و دقیق و با پسوندهای AM یا PM نمایش میدهد.
Long Time Format: فرمت زمانی طولانیتری است که زمان را با ساعت، دقیقه و ثانیه و با پسوندهای AM یا PM نمایش میدهد.
Short Date: یک فرمت تاریخ ساده است که تاریخ را در قالب MM/DD/YYYY نمایش میدهد.
Long Date: فرمت تاریخ طولانیتری است که میتواند تاریخ را با روز، ماه، سال و بهصورت حروف نمایش دهد که برای مثال خروجی آن به شکل Monday, November 05, 2018 خواهد بود.
Day/Month: این فرمت میتواند تاریخ را با تاریخ و ماه نشان میدهد و شامل جزئیات مربوط به سال نخواهد بود. فرمت خروجی آن چیزی مانند 5-Nov خواهد بود.
Month/Year: در این فرمت تاریخ را با ماه و سال نمایش میدهیم و جزئیات مربوط به روز در این تاریخ نمیآید. برای مثال خروجی ما چیزی شبیه به November, 2018 خواهد بود.
حال برای اینکه به شکل بهتری با این فرمتها در آموزش برنامه نویسی به زبان سی شارپ آشنا شوید در ادامه قطعه کدی را برای شما آوردهایم که این موضوع را برای شما روشن خواهد کرد:
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
// year, month, date
DateTime dt = new DateTime(2018, 11, 05);
//short time
Console.WriteLine(“Short time : {0}”,dt.ToString(“t”));
//Long Time
Console.WriteLine(“Long time : {0}”, dt.ToString(“T”));
//Short Date
Console.WriteLine(“Short Date : {0}”, dt.ToString(“d”));
//Long Date
Console.WriteLine(“Long date : {0}”, dt.ToString(“D”));
//Day / Month
Console.WriteLine(“Day with month : {0}”, dt.ToString(“M”));
//Month / Year
Console.WriteLine(“Month with year : {0}”, dt.ToString(“Y”));
Console.ReadLine();
}
}
}
خروجی قطعه کد بالا درباره تاریخ و زمان در سی شارپ به شکل زیر خواهد بود:
Short time : 12:00 AM
Long-time : 12:00:00 AM
Short Date: 11/5/2018
Long date: Monday, November 5, 2018
Day with month: November 5
Month with year : November 2018
هر آنچه را که باید درباره تاریخ و زمان در سی شارپ یادمیگرفتید به شما آموزش داده شد حالا وقت آن است که با یادگیری پایگاه داده SQL در سی شارپ کمی بیشتر به دانش خود بی افزایید

رشته های فرمت استاندارد تاریخ و زمان
در حین کار با تاریخ و زمان (date & time) در سی شارپ باید به این نکته توجه کنید که تاریخ و زمان مدنظر خود را میتوانید در فرمتهای مختلفی به کاربر نمایش دهید. برای مثال، فرض کنید ما یک شی تاریخ و زمان را به شکل زیر در سی شارپ تعریف میکنیم:
DateTime dt = new DateTime(2042, 12, 24, 18, 42, 0);
فرض کنید که میخواهیم خروجی ما به شکل زیر نمایش داده شود:
24-12-2042
در این صورت باید از قطعه کد زیر استفاده کنیم:
Console.WriteLine(“Short date pattern (d): ” + dt.ToString(“d”));
اگر بخواهیم خروجی ما به شکل زیر باشد:
۲۴٫ december 2042
در این صورت باید از دستور زیر استفاده کنیم:
Console.WriteLine(“Long date pattern (D): ” + dt.ToString(“D”));
اگر خروجی مدنظر ما به شکل زیر باشد:
۲۴٫ december 2042 18:42:00
در این شرایط باید کد را اینچنین اصلاح کنیم:
Console.WriteLine(“Full date/time pattern (F): ” + dt.ToString(“F”));
در نهایت ممکن است خروجی مدنظر ما این چنین باشد:
december 2042
قطعه کد زیر برای ساخت این خروجی به ما کمک خواهد کرد:
Console.WriteLine(“Year/month pattern (y): ” + dt.ToString(“y”));
رشته های با فرمت خاص برای زمان و تاریخ
یکی از ویژگیهای مهمی که شی زمان و تاریخ در سی شارپ ارائه میدهد، این است که شما میتوانید خیلی راحت فرمتهای خاص را نیز برای چاپکردن زمان و تاریخ مدنظر خود استفاده کنید. مثالهای زیر را در این زمینه مشاهده کنید:
DateTime dt = new DateTime(2042, 12, 24, 18, 42, 0);
Console.WriteLine(dt.ToString(“MM’/’dd yyyy”));
این قطعه کد خروجی ما را به فرمت زیر نشان میدهد:
۱۲/۲۴ ۲۰۴۲
حال قطعه کد زیر را در نظر بگیرید:
Console.WriteLine(dt.ToString(“dd.MM.yyyy”));
خروجی آن به این شکل خواهد بود:
۲۴٫۱۲٫۲۰۴۲
اگر کد زیر را استفاده کنیم:
Console.WriteLine(dt.ToString(“MM.dd.yyyy HH:mm”));
خروجی ما این چنین خواهد بود:
۱۲٫۲۴٫۲۰۴۲ ۱۸:۴۲
به کمک دستور زیر:
Console.WriteLine(dt.ToString(“dddd @ hh:mm tt”, System.Globalization.CultureInfo.InvariantCulture));
میتوانیم فرمتی مشابه فرمت پایین را ایجاد کنیم:
Wednesday @ 06:42 PM
همانطور که مشاهده میکنید، انواع فرمتها در سی شارپ قابل تولید هستند که در زمان کار با تاریخ و زمان (date & time) در سی شارپ میتوانید از آنها استفاده کنید.
سخن پایانی
کار با تاریخ و زمان (date & time) در سی شارپ یکی از مهمترین مهارتهایی است که در بوت کمپ سی شارپ باید آن را به دست بیاورید. در بسیاری از پروژههای سی شارپ شما نیازمند این هستید که به تاریخ و زمان دسترسی پیدا کرده و عملیاتی را روی آن انجام دهید. به همین علت در بوت کمپ برنامه نویسی سی شارپ که توسط مجموعه بامداد برگزار میشود شما نیازمند آشنایی با مفاهیم مهم در این زمینه خواهید بود. اگر به دنبال آموزش بیشتر در این زمینه هستید حتما از سایر بخشهای سایت ما نیز دیدن کنید.


