logo

DatoTime i C#

Vi brukte DateTime når det er behov for å jobbe med datoer og klokkeslett i C#.

Vi kan formatere dato og klokkeslett i forskjellige formater ved hjelp av egenskapene og metodene til DateTime./p>

Verdien av DateTime er mellom 12:00:00 midnatt, 1. januar 0001 og 23:59:59, 31. desember 9999 A.D.

Her vil vi forklare hvordan du lager DateTime i C#.

Vi har forskjellige måter å lage DateTime-objektet på. Et DateTime-objekt har tid, kultur, dato, lokalisering, millisekunder.

Her har vi en kode som viser de ulike konstruktørbrukene til DateTime-strukturen for å lage DateTime-objektene.

 // 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); 

Egenskaper for DateTime i C#

DateTime har egenskapen Date and Time. Fra DateTime kan vi finne dato og klokkeslett. DateTime inneholder også andre egenskaper, som time, minutt, sekund, millisekund, år, måned og dag.

De andre egenskapene til DateTime er:

  1. Vi kan få navnet på dagen fra uken ved hjelp av DayOfWeek-egenskapen.
  2. For å få årets dag, vil vi bruke DayOfYear-egenskapen.
  3. For å få tid i en DateTime bruker vi TimeOfDay-egenskapen.
  4. Today-egenskapen vil returnere objektet til DateTime, som har dagens verdi. Verdien av tiden er 12:00:00
  5. Nå-egenskapen vil returnere DateTime-objektet, som har gjeldende dato og klokkeslett.
  6. Utc-egenskapen til DateTime vil returnere Coordinated Universal Time (UTC).
  7. Den ene haken representerer hundre nanosekunder i DateTime. Ticks-egenskapen til DateTime returnerer antall haker i en DateTime.
  8. Kind-egenskapen returnerer verdi der representasjonen av tid gjøres av forekomsten, som er basert på lokal tid, Coordinated Universal Time (UTC). Den viser også den uspesifiserte standardverdien.

Her tar vi et eksempel på bruk av egenskapene til DateTime i C#-koden.

Eksempel:

 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); } } } 

Produksjon:

DatoTime i C#

Addisjon og subtraksjon av DateTime i C#

DateTime-strukturen gir metodene for å legge til og trekke fra dato og klokkeslett til og fra DateTime-objektet. Vi kan legge til og trekke fra datoen i DateTime-strukturen til og fra DateTime-objektet. For addisjon og subtraksjon i DateTime bruker vi TimeSpan-strukturen.

For addisjon og subtraksjon kan vi bruke Add and Subtract-metoden fra DateTime-objektet. Først lager vi TimeSpan med verdiene for dato og klokkeslett der vi bruker Add- og Subtraher-metodene.

Her lager vi en kode som vil legge til 3 og trekke fra de 30 dagene fra i dag og vise dagen på konsollen.

 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-strukturen inneholder metodene for å legge til år, dager, timer, minutter, sekunder.

For å legge til de forskjellige komponentene til DateTime-objektet brukes Add-metoden .

 // 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 inneholder ikke subtraheringsmetoden. For å trekke fra komponenten av DateTime, bruker vi bare subtraheringsmetoden. For eksempel: hvis vi trenger å trekke de 12 dagene fra DateTime, kan vi opprette et annet objekt av DateTime eller TimeSpan-objektet med 12 dager. Nå vil vi trekke dette objektet fra DateTime. Alternativt til dette kan vi også bruke minus-operatoren for å trekke fra DateTime eller TimeSpan fra DateTime.

Nå skal vi lage en kode der vi kan lage objektet til DateTime og trekke fra en annen DateTime og Object of TimeSpan. I kode vil vi vise subtraksjonen av bare timer, dager eller andre komponenter fra 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()); 

Søking av dagene i måneden

For å finne antall dager i måneden brukte vi den statiske DaysIn Month metode. Denne søkemetoden [] tar parameteren i tall fra 1 til 12.

Her vil vi skrive en kode som vi vil finne ut antall dager i en bestemt måned.

Her vil vi finne ut antall dager i februar i 2020. Utgangen vil være 28 dager.

 int NumberOfDays = DateTime.DaysInMonth(2004, 2); Console.WriteLine(NumberOfDays); 

Med samme teknikk kan vi finne ut totalt antall dager i et år. Til det vil vi bruke metoden 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>&apos;d&apos;</td> <td>Short date</td> </tr> <tr> <td>&apos;D&apos;</td> <td>Long date</td> </tr> <tr> <td>&apos;f&apos;</td> <td>Full date time. Short time.</td> </tr> <tr> <td>&apos;F&apos;</td> <td>Full date time. Long Time.</td> </tr> <tr> <td>&apos;g&apos;</td> <td>Generate date time. Long Time.</td> </tr> <tr> <td>&apos;G&apos;</td> <td>General date time. Long Time.</td> </tr> <tr> <td>&apos;M&apos;,&apos;m.&apos;</td> <td>Month/day</td> </tr> <tr> <td>&apos;O&apos;,&apos;o&apos;</td> <td>Round trip date/time.</td> </tr> <tr> <td>&apos;R&apos;,&apos;r&apos;</td> <td>RFC1123</td> </tr> <tr> <td>&apos;s&apos;</td> <td>Sortable date time.</td> </tr> <tr> <td>&apos;t&apos;</td> <td>Sort Time</td> </tr> <tr> <td>&apos;T&apos;</td> <td>Long Time</td> </tr> <tr> <td>&apos;u&apos;</td> <td>Universal sortable date time.</td> </tr> <tr> <td>&apos;U&apos;</td> <td>Universal full date-time.</td> </tr> <tr> <td>&apos;Y&apos;,&apos;y&apos;</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(&apos;----------------&apos;); Console.WriteLine(&apos;d Formats&apos;); Console.WriteLine(&apos;----------------&apos;); string[] DateFormat = FormatOfDate.GetDateTimeFormats(&apos;d&apos;); foreach (string format in DateFormat) Console.WriteLine(format); Console.WriteLine(&apos;----------------&apos;); Console.WriteLine(&apos;D Formats&apos;); Console.WriteLine(&apos;----------------&apos;); DateFormat = FormatOfDate.GetDateTimeFormats(&apos;D&apos;); foreach (string format in DateFormat) Console.WriteLine(format); Console.WriteLine(&apos;----------------&apos;); Console.WriteLine(&apos;f Formats&apos;); Console.WriteLine(&apos;----------------&apos;); DateFormat = FormatOfDate.GetDateTimeFormats(&apos;f&apos;); foreach (string format in DateFormat) Console.WriteLine(format); Console.WriteLine(&apos;----------------&apos;); Console.WriteLine(&apos;F Formats&apos;); Console.WriteLine(&apos;----------------&apos;); DateFormat = FormatOfDate.GetDateTimeFormats(&apos;F&apos;); 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(&apos;r&apos;)); </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 = &apos;2020-02-04T20:12:45-5:00&apos;; 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(&apos;ToString: &apos; + DOB.ToString()); Console.WriteLine(&apos;ToBinary: &apos; + DOB.ToBinary()); Console.WriteLine(&apos;ToFileTime: &apos; + DOB.ToFileTime()); Console.WriteLine(&apos;ToLocalTime: &apos; + DOB.ToLocalTime()); Console.WriteLine(&apos;ToLongDateString: &apos; + DOB.ToLongDateString()); Console.WriteLine(&apos;ToLongTimeString: &apos; + DOB.ToLongTimeString()); Console.WriteLine(&apos;ToOADate: &apos; + DOB.ToOADate()); Console.WriteLine(&apos;ToShortDateString: &apos; + DOB.ToShortDateString()); Console.WriteLine(&apos;ToShortTimeString: &apos; + DOB.ToShortTimeString()); Console.WriteLine(&apos;ToUniversalTime: &apos; + 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></=>

Produksjon:

DatoTime i C#
DatoTime i C#

Vi kan overbelaste GetDateTimeFormats metode, som tar formatspesifikasjonen som en parameter og konverterer DateTime til det formatet. For å få ønsket format, må vi forstå formatet til Dato tid spesifikasjoner.

Vi vil vise det med koden med mønsteret i en tabell.

Kode Mønster
'd' Kort dato
'D' Lang dato
'f' Full dato klokkeslett. Kort tid.
'F' Full dato klokkeslett. Lang tid.
'g' Generer dato og klokkeslett. Lang tid.
'G' Generell dato klokkeslett. Lang tid.
'M', 'm.' Måned dag
'O', 'o' Dato/klokkeslett for tur/retur.
'R','r' RFC1123
's' Sorterbar dato og klokkeslett.
't' Sorteringstid
'T' Lang tid
'i' Universell sorterbar datotid.
'I' Universell full dato-tid.
'Og', 'og' år, måned

Vi vil spesifisere formatet til DateTime i C#-koden nedenfor.

 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(&apos;----------------&apos;); Console.WriteLine(&apos;d Formats&apos;); Console.WriteLine(&apos;----------------&apos;); string[] DateFormat = FormatOfDate.GetDateTimeFormats(&apos;d&apos;); foreach (string format in DateFormat) Console.WriteLine(format); Console.WriteLine(&apos;----------------&apos;); Console.WriteLine(&apos;D Formats&apos;); Console.WriteLine(&apos;----------------&apos;); DateFormat = FormatOfDate.GetDateTimeFormats(&apos;D&apos;); foreach (string format in DateFormat) Console.WriteLine(format); Console.WriteLine(&apos;----------------&apos;); Console.WriteLine(&apos;f Formats&apos;); Console.WriteLine(&apos;----------------&apos;); DateFormat = FormatOfDate.GetDateTimeFormats(&apos;f&apos;); foreach (string format in DateFormat) Console.WriteLine(format); Console.WriteLine(&apos;----------------&apos;); Console.WriteLine(&apos;F Formats&apos;); Console.WriteLine(&apos;----------------&apos;); DateFormat = FormatOfDate.GetDateTimeFormats(&apos;F&apos;); foreach (string format in DateFormat) Console.WriteLine(format); } } } 

Produksjon:

java tråd opprette
DatoTime i C#
DatoTime i C#

Vi kan også gjøre formateringen av DateTime ved å sende formatspesifikasjonen i ToString()-metoden til DateTime. Nå skal vi skrive C#-koden for formateringen av DateTime ved å bruke ToString()-metoden.

 Console.WriteLine(DateOfFormat.ToString(&apos;r&apos;)); 

Nå skal vi skrive en C#-kode for DateTime-formatspesifikasjonene i ToString()-metoden.

DatoTime i C#

Få skuddår og sommertid

Gjennom C#-koden får vi skuddår og sommertid.

 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)); } } } 

Produksjon:

DatoTime i C#

Konvertering av streng til DateTime

For å konvertere strengen til et DateTime-objekt brukte vi Parse-metoden. I Parse-metoden må den beståtte strengen ha riktig format for DateTime. For konvertering av DateTime til String, brukes ToString()-metoden.

 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 = &apos;2020-02-04T20:12:45-5:00&apos;; DateTime NEWDt = DateTime.Parse(DT); Console.WriteLine(NEWDt.ToString()); } } } 

Produksjon:

DatoTime i C#

Konvertering av DateTime i C#

Strukturen til DateTime er full av selvforklarende konvertering, som konverterer DateTime til den spesifikke typen. Metodene er ToFileTime, ToLocalTime, ToLongDateString, ToBinary ,ToLongTimeString, ToOADate, ToShortDateString, ToShortTimeString, ToString og ToUniversalTime.

Her vil vi ta et eksempel på C# for å konvertere DateTime til den spesifikke typen.

 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(&apos;ToString: &apos; + DOB.ToString()); Console.WriteLine(&apos;ToBinary: &apos; + DOB.ToBinary()); Console.WriteLine(&apos;ToFileTime: &apos; + DOB.ToFileTime()); Console.WriteLine(&apos;ToLocalTime: &apos; + DOB.ToLocalTime()); Console.WriteLine(&apos;ToLongDateString: &apos; + DOB.ToLongDateString()); Console.WriteLine(&apos;ToLongTimeString: &apos; + DOB.ToLongTimeString()); Console.WriteLine(&apos;ToOADate: &apos; + DOB.ToOADate()); Console.WriteLine(&apos;ToShortDateString: &apos; + DOB.ToShortDateString()); Console.WriteLine(&apos;ToShortTimeString: &apos; + DOB.ToShortTimeString()); Console.WriteLine(&apos;ToUniversalTime: &apos; + DOB.ToUniversalTime()); } } } 

Produksjon:

DatoTime i C#