Користили смо ДатеТиме када постоји потреба да се ради са датумима и временима у Ц#.
Можемо форматирати датум и време у различитим форматима помоћу својстава и метода ДатеТиме./п>
Вредност ДатеТиме је између 12:00:00 поноћи, 1. јануара 1001. и 23:59:59 поподне, 31. децембра 9999. године.
Овде ћемо објаснити како да креирате ДатеТиме у Ц#.
Имамо различите начине да креирамо објекат ДатеТиме. Објекат ДатеТиме има време, културу, датум, локализацију, милисекунде.
Овде имамо код који показује различите конструкторе које користи структура ДатеТиме за креирање ДатеТиме објеката.
// 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);
Својства ДатеТиме у Ц#
ДатеТиме има својство Дате анд Тиме. Из ДатеТиме можемо пронаћи датум и време. ДатеТиме садржи и друга својства, као што су сат, минут, секунда, милисекунда, година, месец и дан.
Остала својства ДатеТиме су:
- Име дана из недеље можемо добити уз помоћ својства ДаиОфВеек.
- Да бисмо добили дан у години, користићемо својство ДаиОфИеар.
- Да бисмо добили време у ДатеТиме, користимо својство ТимеОфДаи.
- Својство Тодаи ће вратити објекат ДатеТиме, који има данашњу вредност. Вредност времена је 12:00:00
- Својство Нов ће вратити објекат ДатеТиме, који има тренутни датум и време.
- Својство Утц за ДатеТиме ће вратити координирано универзално време (УТЦ).
- Један квачица представља сто наносекунди у ДатеТиме-у. Својство Тицкс за ДатеТиме враћа број тикета у ДатеТиме.
- Својство Кинд враћа вредност где представља време врши инстанца, која се заснива на локалном времену, координисаном универзалном времену (УТЦ). Такође приказује неодређену подразумевану вредност.
Овде узимамо пример коришћења својстава ДатеТиме у Ц# коду.
Пример:
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); } } }
Излаз:
Сабирање и одузимање датума и времена у Ц#
Структура ДатеТиме пружа методе за додавање и одузимање датума и времена у и из објекта ДатеТиме. Можемо да додајемо и одузимамо датум у структури ДатеТиме у и из ДатеТиме објекта. За сабирање и одузимање у ДатеТиме-у користимо структуру ТимеСпан.
За сабирање и одузимање можемо користити методу Адд анд Субтрацт из објекта ДатеТиме. Прво, креирамо ТимеСпан са вредностима датума и времена где користимо методе Адд и Субтрацт.
Овде креирамо код који ће додати 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); } } }
Структура ДатеТиме садржи методе за додавање година, дана, сати, минута, секунди.
Да бисте додали различите компоненте у објекат ДатеТиме, користи се метода Адд .
// 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);
ДатеТиме не садржи метод одузимања. Да бисмо одузели компоненту ДатеТиме-а, користићемо само методу одузимања. На пример: ако треба да одузмемо 12 дана од ДатеТиме, можемо креирати други објекат ДатеТиме или ТимеСпан објекта са 12 дана. Сада ћемо одузети овај објекат од ДатеТиме-а. Алтернативно, можемо користити и минус оператор да одузмемо ДатеТиме или ТимеСпан од ДатеТиме.
Сада ћемо креирати код помоћу којег можемо креирати објекат ДатеТиме и одузети други ДатеТиме и Објецт оф ТимеСпан. У коду ћемо приказати одузимање само сати, дана или других компоненти из ДатеТиме-а.
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());
Тражење дана у месецу
Да бисмо пронашли број дана у месецу, користили смо статику ДаисИнМонтх методом. Овај метод претраживања [] узима параметар у бројевима од 1 до 12.
Овде ћемо написати код кроз који ћемо сазнати број дана у одређеном месецу.
Овде ћемо сазнати број дана у фебруару 2020. Излаз ће бити 28 дана.
int NumberOfDays = DateTime.DaysInMonth(2004, 2); Console.WriteLine(NumberOfDays);
Истом техником можемо сазнати укупан број дана у години. За то ћемо користити методу ДаисИнИеар.
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></=>
Излаз:
Можемо преоптеретити ГетДатеТимеФорматс метод, који узима спецификацију формата као параметар и претвара ДатеТиме у тај формат. Да бисмо добили жељени формат, морамо разумети формат Датум време спецификације.
Показаћемо то са кодом са шаблоном у табели.
Код | Шаблон |
---|---|
'д' | Кратак спој |
'Д' | Дуги састанак |
'ф' | Време пуног датума. Недуго. |
'Ф' | Време пуног датума. Дуго времена. |
'г' | Генеришите датум и време. Дуго времена. |
'Г' | Општи датум и време. Дуго времена. |
'М','м.' | Месец дана |
'о','о' | Датум/време повратног путовања. |
'Р','р' | РФЦ1123 |
'с' | Време за сортирање датума. |
'т' | Сорт Тиме |
'Т' | Дуго времена |
'у' | Универзално време за сортирање датума. |
'ИН' | Универзални пуни датум. |
'И и' | Година, месец |
Ми ћемо навести формат ДатеТиме у Ц# коду испод.
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); } } }
Излаз:
која је разлика између мегабајта и гигабајта
Такође можемо да урадимо форматирање ДатеТиме-а тако што ћемо проследити спецификацију формата у методу ТоСтринг() за ДатеТиме. Сада ћемо написати Ц# код за форматирање ДатеТиме користећи методу ТоСтринг().
Console.WriteLine(DateOfFormat.ToString('r'));
Сада ћемо написати Ц# код за спецификације формата ДатеТиме у оквиру методе ТоСтринг().
Преузмите преступну годину и летње рачунање времена
Преко Ц# кода добићемо преступну годину и летње рачунање времена.
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)); } } }
Излаз:
Конверзија стринга у ДатеТиме
Да бисмо конвертовали стринг у објекат ДатеТиме, користили смо метод Парсе. У методи Парсе, пролазни стринг мора имати исправан формат ДатеТиме. За конверзију ДатеТиме у Стринг, користи се метод ТоСтринг().
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()); } } }
Излаз:
Конверзија датума и времена у Ц#
Структура ДатеТиме је пуна конверзије која је сама по себи разумљива, која претвара ДатеТиме у одређени тип. Методе су ТоФилеТиме, ТоЛоцалТиме, ТоЛонгДатеСтринг, ТоБинари, ТоЛонгТимеСтринг, ТоОАДате, ТоСхортДатеСтринг, ТоСхортТимеСтринг, ТоСтринг и ТоУниверсалТиме.
Овде ћемо узети пример Ц# за претварање ДатеТиме у одређени тип.
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)>=>