استخدمنا DateTime عندما تكون هناك حاجة للعمل مع التواريخ والأوقات في C#.
يمكننا تنسيق التاريخ والوقت بتنسيقات مختلفة حسب خصائص وطرق DateTime./p>
تقع قيمة DateTime بين 12:00:00 منتصف الليل، 1 يناير 0001 و11:59:59 مساءً، 31 ديسمبر 9999 م.
سنشرح هنا كيفية إنشاء DateTime في C#.
لدينا طرق مختلفة لإنشاء كائن DateTime. يحتوي كائن DateTime على الوقت والثقافة والتاريخ والتعريب والميلي ثانية.
لدينا هنا رمز يوضح استخدامات المنشئ المختلفة بواسطة بنية DateTime لإنشاء كائنات DateTime.
// From DateTime create the Date and Time DateTime DOB= new DateTime(19, 56, 8, 12, 8, 12, 23); // From String creation of DateTime string DateString= '8/12/1956 7:10:24 AM'; DateTime dateFromString = DateTime.Parse(DateString, System.Globalization.CultureInfo.InvariantCulture); Console.WriteLine(dateFromString.ToString()); // Empty DateTime DateTime EmpDateTime= new DateTime(); // Just date DateTime OnlyDate= new DateTime(2002, 10, 18); // DateTime from Ticks DateTime OnlyTime= new DateTime(10000000); // Localization with DateTime DateTime DateTimewithKind = new DateTime(1976, 7, 10, 7, 10, 24, DateTimeKind.Local); // DateTime with date, time and milliseconds DateTime WithMilliseconds= new DateTime(2010, 12, 15, 5, 30, 45, 100);
خصائص DateTime في C#
يحتوي DateTime على خاصية التاريخ والوقت. من DateTime، يمكننا العثور على التاريخ والوقت. يحتوي DateTime على خصائص أخرى أيضًا، مثل الساعة والدقيقة والثانية والميلي ثانية والسنة والشهر واليوم.
الخصائص الأخرى لـ DateTime هي:
- يمكننا الحصول على اسم اليوم من الأسبوع بمساعدة خاصية DayOfWeek.
- للحصول على اليوم من السنة، سنستخدم خاصية DayOfYear.
- للحصول على الوقت في DateTime، نستخدم خاصية TimeOfDay.
- الخاصية Today ستعيد كائن DateTime، الذي له قيمة اليوم. قيمة الوقت هي 12:00:00
- ستقوم خاصية Now بإرجاع كائن DateTime، الذي يحتوي على التاريخ والوقت الحاليين.
- الخاصية Utc الخاصة بـ DateTime ستعيد التوقيت العالمي المنسق (UTC).
- تمثل العلامة الواحدة مائة نانو ثانية في DateTime. تقوم خاصية علامات التجزئة في DateTime بإرجاع عدد علامات التجزئة في DateTime.
- تقوم الخاصية Kind بإرجاع قيمة حيث يتم تمثيل الوقت بواسطة المثيل، والذي يعتمد على التوقيت المحلي، التوقيت العالمي المنسق (UTC). ويعرض أيضًا القيمة الافتراضية غير المحددة.
نحن هنا نأخذ مثالاً على استخدام خصائص DateTime في كود C#.
مثال:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp8 { class Program { static void Main(string[] args) { DateTime DateTimeProperty = new DateTime(1974, 7, 10, 7, 10, 24); Console.WriteLine('Day:{0}', DateTimeProperty.Day); Console.WriteLine('Month:{0}', DateTimeProperty.Month); Console.WriteLine('Year:{0}', DateTimeProperty.Year); Console.WriteLine('Hour:{0}', DateTimeProperty.Hour); Console.WriteLine('Minute:{0}', DateTimeProperty.Minute); Console.WriteLine('Second:{0}', DateTimeProperty.Second); Console.WriteLine('Millisecond:{0}', DateTimeProperty.Millisecond); Console.WriteLine('Day of Week:{0}', DateTimeProperty.DayOfWeek); Console.WriteLine('Day of Year: {0}', DateTimeProperty.DayOfYear); Console.WriteLine('Time of Day:{0}', DateTimeProperty.TimeOfDay); Console.WriteLine('Tick:{0}', DateTimeProperty.Ticks); Console.WriteLine('Kind:{0}', DateTimeProperty.Kind); } } }
انتاج:
إضافة وطرح التاريخ والوقت في C#
توفر بنية DateTime طرقًا لإضافة وطرح التاريخ والوقت من وإلى كائن DateTime. يمكننا إضافة وطرح التاريخ في بنية DateTime من وإلى كائن DateTime. بالنسبة لعمليات الجمع والطرح في DateTime، نستخدم بنية TimeSpan.
بالنسبة إلى الجمع والطرح، يمكننا استخدام طريقة الإضافة والطرح من كائن DateTime. أولاً، نقوم بإنشاء TimeSpan بقيم التاريخ والوقت حيث نستخدم طرق الإضافة والطرح.
نقوم هنا بإنشاء رمز يضيف 3 ويطرح 30 يومًا من اليوم ويعرض اليوم على وحدة التحكم.
using System; using System. Collections; using System.Collections.Generic; using System. Linq; using System. Text; using System.Threading.Tasks; namespace ConsoleApp8 { class Program { static void Main(string[] args) { DateTime Day = DateTime.Now; TimeSpan Month = new System.TimeSpan(30, 0, 0, 0); DateTime aDayAfterAMonth = Day.Add(Month); DateTime aDayBeforeAMonth = Day.Subtract(Month); Console.WriteLine('{0:dddd}', aDayAfterAMonth); Console.WriteLine('{0:dddd}', aDayBeforeAMonth); } } }
تحتوي بنية DateTime على طرق إضافة السنوات والأيام والساعات والدقائق والثواني.
لإضافة مكونات مختلفة إلى كائن DateTime، يتم استخدام طريقة الإضافة .
// To Add the Years and Days day.AddYears(2); day.AddDays(12); // Add Hours, Minutes, Seconds, Milliseconds, and Ticks Day.AddHours(4.25); day.AddMinutes(15); day.AddSeconds(45); day.AddMilliseconds(200); day.AddTicks(5000);
لا يحتوي DateTime على طريقة الطرح. لطرح مكون DateTime، سنستخدم طريقة الطرح فقط. على سبيل المثال: إذا أردنا طرح 12 يومًا من DateTime، فيمكننا إنشاء كائن آخر من كائن DateTime أو TimeSpan مع 12 يومًا. الآن سوف نقوم بطرح هذا الكائن من DateTime. وبدلاً من ذلك، يمكننا أيضًا استخدام عامل التشغيل ناقص لطرح DateTime أو TimeSpan من DateTime.
سنقوم الآن بإنشاء رمز يمكننا من خلاله إنشاء كائن DateTime وطرح DateTime وكائن TimeSpan آخر. في الكود، سنعرض طرح الساعات أو الأيام أو المكونات الأخرى فقط من DateTime.
DateTime DOB = new DateTime(2000, 10, 20, 12, 15, 45); DateTime SubtractDate = new DateTime(2000, 2, 6, 13, 5, 15); // Use the TimeSpan with 10 days, 2 hrs, 30 mins, 45 seconds, and 100 milliseconds TimeSpan ts = new TimeSpan(10, 2, 30, 45, 100); // Subtract the DateTime TimeSpan Different = DOB.Subtract(SubtractDate); Console.WriteLine(Different.ToString()); // Subtract the TimeSpan DateTime Different2 = DOB.Subtract(ts); Console.WriteLine(Different2.ToString()); // Subtract 10 Days by creating the object SubtractedDays DateTime SubtractedDays = new DateTime(DOB.Year, DOB.Month, DOB.Day - 10); Console.WriteLine(SubtractedDays.ToString()); // Subtract hours, minutes, and seconds with creating the object HoursMinutesSeconds DateTime HoursMinutesSeconds = new DateTime(DOB.Year, DOB.Month, DOB.Day, DOB.Hour - 1, DOB.Minute - 15, DOB.Second - 15); Console.WriteLine(HoursMinutesSeconds.ToString());
بحث عن أيام الشهر
للعثور على عدد الأيام في الشهر، استخدمنا الرقم الثابت DaysInMonth طريقة. طريقة البحث هذه [] تأخذ المعلمة بالأرقام من 1 إلى 12.
سنقوم هنا بكتابة الكود الذي من خلاله سنعرف عدد الأيام في شهر معين.
سنكتشف هنا عدد أيام شهر فبراير عام 2020. وسيكون الناتج 28 يومًا.
int NumberOfDays = DateTime.DaysInMonth(2004, 2); Console.WriteLine(NumberOfDays);
وبنفس التقنية يمكننا معرفة العدد الإجمالي للأيام في السنة. لذلك سوف نستخدم طريقة DaysInYear.
private int DaysInYear(int year) { int DaysIN= 0; for (int j = 1; j <= 12; j++) { daysin +="DateTime.DaysInMonth(year," j); } return daysin; < pre> <h2>Comparison of two DateTime in C#</h2> <p> <strong>The comparer</strong> static method is used to compare the object of the two datetime. If the objects of both <strong>DateTime</strong> is the same, then the result will be 0. If the first DateTime is earlier, then the result will be 0 else the first DateTime would be later.</p> <p> <strong>Now we will show the comparison of the two datetime objects in C#.</strong> </p> <pre> using System; using System. Collections; using System.Collections.Generic; using System. Linq; using System. Text; using System.Threading.Tasks; namespace ConsoleApp8 { class Program { static void Main(string[] args) { DateTime DateOfFirst = new DateTime(2002, 10, 22); DateTime DateOfSecond = new DateTime(2009, 8, 11); int result1 = DateTime.Compare(DateOfFirst, DateOfSecond); if (result1 <0) console.writeline('date of first is earlier'); else if (result1="=" 0) console.writeline('both dates are same'); later'); } < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/net-framework/10/datetime-c-2.webp" alt="DateTime in C#"> <h2>CompareTo Method</h2> <p>CompareTo method is used to compare the two dates. We will assign the DateTime or object in this method.</p> <p>To compare the two DateTime object, we used the CompareTo method. Below we have a C# code to compare the DateTime object.</p> <pre> using System; using System. Collections; using System.Collections.Generic; using System. Linq; using System. Text; using System.Threading.Tasks; namespace ConsoleApp8 { class Program { static void Main(string[] args) { DateTime DateOfFirst = new DateTime(2001, 10, 20); DateTime DateOfSecond = new DateTime(2009, 8, 11); int ResultOfComparison = DateOfFirst.CompareTo(DateOfSecond); if (ResultOfComparison <0) console.writeline('date of first is earlier'); else if (resultofcomparison="=" 0) both are same'); later'); } < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/net-framework/10/datetime-c-3.webp" alt="DateTime in C#"> <h2>Formatting of the DateTime in C#</h2> <p>In C#, we can format the DateTime to any type of string format as we want.</p> <p>For the formatting of the DateTime, we used the <strong>GetDateTimeFormats</strong> method, which returns all the possible DateTime formats for the current culture of the computer.</p> <p>Here we have a C# code that returns the array of the strings of all the possible standard formats.</p> <pre> using System; using System. Collections; using System.Collections.Generic; using System. Linq; using System. Text; using System.Threading.Tasks; namespace ConsoleApp8 { class Program { static void Main(string[] args) { DateTime DateOfMonth = new DateTime(2020, 02, 25); string[] FormatsOfDate = DateOfMonth.GetDateTimeFormats(); foreach (string format in FormatsOfDate) Console.WriteLine(format); } } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/net-framework/10/datetime-c-4.webp" alt="DateTime in C#"> <br> <img src="//techcodeview.com/img/net-framework/10/datetime-c-5.webp" alt="DateTime in C#"> <p>We can overload the <strong>GetDateTimeFormats</strong> method, which takes the format specifier as a parameter and converts the DateTime to that format. To get the desired format, we need to understand the format of the <strong>DateTime</strong> specifiers.</p> <p>We will show it with the code with the pattern in a table.</p> <table class="table"> <tr> <th>Code</th> <th>Pattern</th> </tr> <tr> <td>'d'</td> <td>Short date</td> </tr> <tr> <td>'D'</td> <td>Long date</td> </tr> <tr> <td>'f'</td> <td>Full date time. Short time.</td> </tr> <tr> <td>'F'</td> <td>Full date time. Long Time.</td> </tr> <tr> <td>'g'</td> <td>Generate date time. Long Time.</td> </tr> <tr> <td>'G'</td> <td>General date time. Long Time.</td> </tr> <tr> <td>'M','m.'</td> <td>Month/day</td> </tr> <tr> <td>'O','o'</td> <td>Round trip date/time.</td> </tr> <tr> <td>'R','r'</td> <td>RFC1123</td> </tr> <tr> <td>'s'</td> <td>Sortable date time.</td> </tr> <tr> <td>'t'</td> <td>Sort Time</td> </tr> <tr> <td>'T'</td> <td>Long Time</td> </tr> <tr> <td>'u'</td> <td>Universal sortable date time.</td> </tr> <tr> <td>'U'</td> <td>Universal full date-time.</td> </tr> <tr> <td>'Y','y'</td> <td>Year, Month</td> </tr> </table> <p> <strong>We will specify the format of the DateTime in the below C# Code. </strong> </p> <pre> using System; using System. Collections; using System.Collections.Generic; using System. Linq; using System. Text; using System.Threading.Tasks; namespace ConsoleApp8 { class Program { static void Main(string[] args) { DateTime FormatOfDate = new DateTime(2020, 02, 25); // DateTime Formats: d, D, f, F, g, G, m, o, r, s, t, T, u, U, Console.WriteLine('----------------'); Console.WriteLine('d Formats'); Console.WriteLine('----------------'); string[] DateFormat = FormatOfDate.GetDateTimeFormats('d'); foreach (string format in DateFormat) Console.WriteLine(format); Console.WriteLine('----------------'); Console.WriteLine('D Formats'); Console.WriteLine('----------------'); DateFormat = FormatOfDate.GetDateTimeFormats('D'); foreach (string format in DateFormat) Console.WriteLine(format); Console.WriteLine('----------------'); Console.WriteLine('f Formats'); Console.WriteLine('----------------'); DateFormat = FormatOfDate.GetDateTimeFormats('f'); foreach (string format in DateFormat) Console.WriteLine(format); Console.WriteLine('----------------'); Console.WriteLine('F Formats'); Console.WriteLine('----------------'); DateFormat = FormatOfDate.GetDateTimeFormats('F'); foreach (string format in DateFormat) Console.WriteLine(format); } } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/net-framework/10/datetime-c-6.webp" alt="DateTime in C#"> <br> <img src="//techcodeview.com/img/net-framework/10/datetime-c-7.webp" alt="DateTime in C#"> <p>We can also do the formatting of the DateTime by passing the format specifier in the ToString() method of DateTime. Now we will write the C# code for the formatting of the DateTime using the ToString() method.</p> <pre> Console.WriteLine(DateOfFormat.ToString('r')); </pre> <p>Now we will write a C# code for the DateTime format specifiers within the ToString() method.</p> <img src="//techcodeview.com/img/net-framework/10/datetime-c-8.webp" alt="DateTime in C#"> <h2>Get the Leap Year and Daylight-Saving Time</h2> <p>Through the C# Code, we will get the Leap Year and Daylight-Saving Time.</p> <pre> using System; using System. Collections; using System.Collections.Generic; using System. Linq; using System. Text; using System.Threading.Tasks; namespace ConsoleApp8 { class Program { static void Main(string[] args) { DateTime DateOfTime = new DateTime(2020, 02, 22); Console.WriteLine(DateOfTime.IsDaylightSavingTime()); Console.WriteLine(DateTime.IsLeapYear(DateOfTime.Year)); } } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/net-framework/10/datetime-c-9.webp" alt="DateTime in C#"> <h2>Conversion of string to the DateTime</h2> <p>To convert the string to a DateTime object, we used the Parse method. In the Parse method, the passing string must have the correct format of the DateTime. For the conversion of the DateTime to the String, the ToString() method is used. </p> <pre> using System; using System. Collections; using System.Collections.Generic; using System. Linq; using System. Text; using System.Threading.Tasks; namespace ConsoleApp8 { class Program { static void Main(string[] args) { string DT = '2020-02-04T20:12:45-5:00'; DateTime NEWDt = DateTime.Parse(DT); Console.WriteLine(NEWDt.ToString()); } } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/net-framework/10/datetime-c-10.webp" alt="DateTime in C#"> <h2>Conversion of DateTime in C#</h2> <p>The structure of the DateTime is full of self-explanatory conversion, which converts the DateTime to the specific type. The methods are ToFileTime, ToLocalTime, ToLongDateString, ToBinary ,ToLongTimeString, ToOADate, ToShortDateString, ToShortTimeString, ToString, and ToUniversalTime.</p> <p>Here we will take an example of C# to convert the DateTime to the specific type.</p> <pre> using System; using System. Collections; using System.Collections.Generic; using System. Linq; using System. Text; using System.Threading.Tasks; namespace ConsoleApp8 { class Program { static void Main(string[] args) { DateTime DOB = new DateTime(2020, 01, 22); Console.WriteLine('ToString: ' + DOB.ToString()); Console.WriteLine('ToBinary: ' + DOB.ToBinary()); Console.WriteLine('ToFileTime: ' + DOB.ToFileTime()); Console.WriteLine('ToLocalTime: ' + DOB.ToLocalTime()); Console.WriteLine('ToLongDateString: ' + DOB.ToLongDateString()); Console.WriteLine('ToLongTimeString: ' + DOB.ToLongTimeString()); Console.WriteLine('ToOADate: ' + DOB.ToOADate()); Console.WriteLine('ToShortDateString: ' + DOB.ToShortDateString()); Console.WriteLine('ToShortTimeString: ' + DOB.ToShortTimeString()); Console.WriteLine('ToUniversalTime: ' + DOB.ToUniversalTime()); } } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/net-framework/10/datetime-c-11.webp" alt="DateTime in C#"> <hr></0)></pre></0)></pre></=>
انتاج:
يمكننا أن نثقل كاهلنا GetDateTimeFormats الطريقة، التي تأخذ محدد التنسيق كمعلمة وتحول DateTime إلى هذا التنسيق. للحصول على التنسيق المطلوب، علينا أن نفهم تنسيق الملف التاريخ والوقت محددات.
وسوف نعرضها بالكود مع النمط الموجود في الجدول.
شفرة | نمط |
---|---|
'د' | التاريخ القصير |
'د' | تاريخ طويل |
'F' | وقت التاريخ الكامل. وقت قصير. |
'F' | وقت التاريخ الكامل. منذ وقت طويل. |
'ز' | توليد وقت التاريخ. منذ وقت طويل. |
'ز' | وقت التاريخ العام. منذ وقت طويل. |
'مم.' | يوم الشهر |
'يا' ، 'يا' | تاريخ/وقت الرحلة ذهابًا وإيابًا. |
'ص'،'ص' | RFC1123 |
'س' | وقت التاريخ القابل للفرز. |
'ر' | فرز الوقت |
'تي' | منذ وقت طويل |
'في' | وقت التاريخ العالمي القابل للفرز. |
'في' | تاريخ كامل عالمي. |
'و و' | سنة شهر |
سنحدد تنسيق DateTime في رمز C# أدناه.
using System; using System. Collections; using System.Collections.Generic; using System. Linq; using System. Text; using System.Threading.Tasks; namespace ConsoleApp8 { class Program { static void Main(string[] args) { DateTime FormatOfDate = new DateTime(2020, 02, 25); // DateTime Formats: d, D, f, F, g, G, m, o, r, s, t, T, u, U, Console.WriteLine('----------------'); Console.WriteLine('d Formats'); Console.WriteLine('----------------'); string[] DateFormat = FormatOfDate.GetDateTimeFormats('d'); foreach (string format in DateFormat) Console.WriteLine(format); Console.WriteLine('----------------'); Console.WriteLine('D Formats'); Console.WriteLine('----------------'); DateFormat = FormatOfDate.GetDateTimeFormats('D'); foreach (string format in DateFormat) Console.WriteLine(format); Console.WriteLine('----------------'); Console.WriteLine('f Formats'); Console.WriteLine('----------------'); DateFormat = FormatOfDate.GetDateTimeFormats('f'); foreach (string format in DateFormat) Console.WriteLine(format); Console.WriteLine('----------------'); Console.WriteLine('F Formats'); Console.WriteLine('----------------'); DateFormat = FormatOfDate.GetDateTimeFormats('F'); foreach (string format in DateFormat) Console.WriteLine(format); } } }
انتاج:
شرارة البرنامج التعليمي
يمكننا أيضًا إجراء تنسيق DateTime عن طريق تمرير محدد التنسيق في طريقة ToString() الخاصة بـ DateTime. سنقوم الآن بكتابة كود C# لتنسيق DateTime باستخدام طريقة ToString().
Console.WriteLine(DateOfFormat.ToString('r'));
سنقوم الآن بكتابة رمز C# لمحددات تنسيق DateTime ضمن طريقة ToString().
احصل على السنة الكبيسة والتوقيت الصيفي
من خلال كود C#، سنحصل على السنة الكبيسة والتوقيت الصيفي.
using System; using System. Collections; using System.Collections.Generic; using System. Linq; using System. Text; using System.Threading.Tasks; namespace ConsoleApp8 { class Program { static void Main(string[] args) { DateTime DateOfTime = new DateTime(2020, 02, 22); Console.WriteLine(DateOfTime.IsDaylightSavingTime()); Console.WriteLine(DateTime.IsLeapYear(DateOfTime.Year)); } } }
انتاج:
تحويل السلسلة إلى DateTime
لتحويل السلسلة إلى كائن DateTime، استخدمنا طريقة Parse. في الأسلوب Parse، يجب أن يكون لسلسلة التمرير التنسيق الصحيح لـ DateTime. لتحويل DateTime إلى سلسلة، يتم استخدام طريقة ToString().
using System; using System. Collections; using System.Collections.Generic; using System. Linq; using System. Text; using System.Threading.Tasks; namespace ConsoleApp8 { class Program { static void Main(string[] args) { string DT = '2020-02-04T20:12:45-5:00'; DateTime NEWDt = DateTime.Parse(DT); Console.WriteLine(NEWDt.ToString()); } } }
انتاج:
تحويل DateTime في C#
بنية DateTime مليئة بالتحويلات التي لا تحتاج إلى شرح، والتي تحول DateTime إلى نوع محدد. الأساليب هي ToFileTime، وToLocalTime، وToLongDateString، وToBinary، وToLongTimeString، وToOADate، وToShortDateString، وToShortTimeString، وToString، وToUniversalTime.
سنأخذ هنا مثالاً على لغة C# لتحويل التاريخ والوقت إلى النوع المحدد.
using System; using System. Collections; using System.Collections.Generic; using System. Linq; using System. Text; using System.Threading.Tasks; namespace ConsoleApp8 { class Program { static void Main(string[] args) { DateTime DOB = new DateTime(2020, 01, 22); Console.WriteLine('ToString: ' + DOB.ToString()); Console.WriteLine('ToBinary: ' + DOB.ToBinary()); Console.WriteLine('ToFileTime: ' + DOB.ToFileTime()); Console.WriteLine('ToLocalTime: ' + DOB.ToLocalTime()); Console.WriteLine('ToLongDateString: ' + DOB.ToLongDateString()); Console.WriteLine('ToLongTimeString: ' + DOB.ToLongTimeString()); Console.WriteLine('ToOADate: ' + DOB.ToOADate()); Console.WriteLine('ToShortDateString: ' + DOB.ToShortDateString()); Console.WriteLine('ToShortTimeString: ' + DOB.ToShortTimeString()); Console.WriteLine('ToUniversalTime: ' + DOB.ToUniversalTime()); } } }
انتاج:
0)>0)>=>