Käytimme DateTimea, kun on tarvetta työstää päivämääriä ja kellonaikoja C#:ssa.
Voimme muotoilla päivämäärän ja kellonajan eri muodoissa DateTime./p>:n ominaisuuksilla ja menetelmillä
DateTime-arvon arvo on 12.00.00 keskiyöllä 1. tammikuuta 0001 ja 23.59.59 31. joulukuuta 9999 jKr.
Tässä selitämme kuinka DateTime luodaan C#:ssa.
Meillä on erilaisia tapoja luoda DateTime-objekti. DateTime-objektilla on aika, kulttuuri, päivämäärä, lokalisointi, millisekuntia.
Tässä on koodi, joka näyttää DateTime-rakenteen erilaiset rakentajat DateTime-objektien luomiseen.
// 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);
Päivämäärä-ajan ominaisuudet C#:ssa
DateTime-kohdassa on Date and Time -ominaisuus. DateTimesta voimme löytää päivämäärän ja kellonajan. DateTime sisältää myös muita ominaisuuksia, kuten tunti, minuutti, sekunti, millisekunti, vuosi, kuukausi ja päivä.
Muut DateTimen ominaisuudet ovat:
- Päivän nimen saamme viikosta DayOfWeek-ominaisuuden avulla.
- Käytämme DayOfYear-omaisuutta saadaksemme vuoden päivän.
- Käytämme TimeOfDay-ominaisuutta saadaksemme ajan DateTimessa.
- Tänään ominaisuus palauttaa DateTime-objektin, jolla on tämän päivän arvo. Ajan arvo on 12:00:00
- Nyt-ominaisuus palauttaa DateTime-objektin, jolla on nykyinen päivämäärä ja aika.
- DateTimen Utc-ominaisuus palauttaa koordinoidun maailmanajan (UTC).
- Yksi rasti edustaa sataa nanosekuntia DateTimessa. DateTime:n Ticks-ominaisuus palauttaa merkkien lukumäärän DateTimessa.
- Kind-ominaisuus palauttaa arvon, jossa instanssi esittää ajan, joka perustuu paikalliseen aikaan, koordinoituun maailmanaikaan (UTC). Se näyttää myös määrittelemättömän oletusarvon.
Tässä otamme esimerkin DateTime-ominaisuuksien käyttämisestä C#-koodissa.
Esimerkki:
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); } } }
Lähtö:
Päivämäärän ja ajan lisääminen ja vähentäminen C#:ssa
DateTime-rakenne tarjoaa menetelmät päivämäärän ja ajan lisäämiseksi ja vähentämiseksi DateTime-objektiin ja niistä. Voimme lisätä ja vähentää DateTime-rakenteessa olevan päivämäärän DateTime-objektiin ja siitä. Päivämäärän ajan yhteen- ja vähennyslaskussa käytämme TimeSpan-rakennetta.
Yhteen- ja vähennyslaskua varten voimme käyttää DateTime-objektin lisäys- ja vähennysmenetelmää. Ensinnäkin luomme aikavälin päivämäärän ja kellonajan arvoilla, joissa käytämme lisää- ja vähennysmenetelmiä.
Tässä luomme koodin, joka lisää 3 ja vähentää 30 päivää tästä päivästä ja näyttää päivän konsolissa.
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-rakenne sisältää tavat lisätä vuosia, päiviä, tunteja, minuutteja, sekunteja.
Eri komponenttien lisäämiseen DateTime-objektiin käytetään Add-menetelmää .
// 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 ei sisällä vähennysmenetelmää. Vähentääksemme DateTime-komponentin, käytämme vain vähennysmenetelmää. Esimerkiksi: jos meidän on vähennettävä 12 päivää DateTimesta, voimme luoda DateTime- tai TimeSpan-objektista toisen objektin, jossa on 12 päivää. Nyt vähennämme tämän objektin DateTimesta. Vaihtoehtoisesti voimme myös käyttää miinus-operaattoria vähentämään DateTime tai TimeSpan DateTimesta.
Nyt luomme koodin, jonka avulla voimme luoda DateTime-objektin ja vähentää toisen DateTime- ja TimeSpan-objektin. Koodissa näytämme vain tuntien, päivien tai muiden komponenttien vähennyksen DateTimesta.
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());
Kuukauden päivien haku
Kuukauden päivien määrän selvittämiseksi käytimme staattista DaysIn Month menetelmä. Tämä hakutapa [] ottaa parametrin numeroina 1-12.
Tänne kirjoitamme koodin, jonka avulla saamme selville päivien lukumäärän tietyssä kuukaudessa.
Täältä saamme selville päivien lukumäärän helmikuussa 2020. Tuotos on 28 päivää.
int NumberOfDays = DateTime.DaysInMonth(2004, 2); Console.WriteLine(NumberOfDays);
Samalla tekniikalla voimme selvittää päivien kokonaismäärän vuodessa. Tätä varten käytämme menetelmää 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></=>
Lähtö:
Voimme ylikuormittaa GetDateTimeFormats menetelmä, joka ottaa muotomääritteen parametriksi ja muuntaa DateTime-arvon tähän muotoon. Halutun muodon saamiseksi meidän on ymmärrettävä tiedoston muoto Treffiaika määrittäjät.
Näytämme sen koodilla ja kuviolla taulukossa.
Koodi | Kuvio |
---|---|
'd' | Lyhyt päivämäärä |
'D' | Pitkä treffi |
'f' | Täysi päivämäärä aika. Lyhyt aika. |
'F' | Täysi päivämäärä aika. Pitkä aika. |
'g' | Luo päivämäärä ja aika. Pitkä aika. |
'G' | Yleinen päivämäärä-aika. Pitkä aika. |
'M','m.' | Kuukausi/päivä |
'o', 'o' | Edestakaisen matkan päivämäärä/aika. |
'R','r' | RFC1123 |
's' | Lajiteltava päivämäärä-aika. |
't' | Lajitteluaika |
'T' | Pitkä aika |
'sisään' | Universaali lajiteltava päivämäärä-aika. |
'SISÄÄN' | Universaali täysi päivämäärä. |
'Ja ja' | Vuosi, kuukausi |
Määritämme DateTime-muodon alla olevassa C#-koodissa.
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); } } }
Lähtö:
bash tarkista, onko ympäristömuuttuja asetettu
Voimme myös muotoilla DateTimea välittämällä muotomääritteen DateTime-metodissa ToString(). Nyt kirjoitamme C#-koodin DateTime-muotoilulle käyttämällä ToString()-metodia.
Console.WriteLine(DateOfFormat.ToString('r'));
Nyt kirjoitamme C#-koodin DateTime-muodon määrittäjille ToString()-metodissa.
Hanki karkausvuosi ja kesäaika
C#-koodin kautta saamme karkausvuoden ja kesäajan.
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)); } } }
Lähtö:
Merkkijonon muuntaminen DateTime-muotoon
Merkkijonon muuntamiseen DateTime-objektiksi käytimme jäsennysmenetelmää. Jäsennysmenetelmässä välitysmerkkijonon on oltava oikeassa DateTime-muodossa. DateTime-arvon muuntamiseen merkkijonoksi käytetään ToString()-menetelmää.
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()); } } }
Lähtö:
Päivämäärän ja ajan muunnos C#:lla
DateTime:n rakenne on täynnä itsestään selviä muunnoksia, jotka muuntavat DateTime-arvon tietyn tyypin mukaisiksi. Menetelmät ovat ToFileTime, ToLocalTime, ToLongDateString, ToBinary, ToLongTimeString, ToOADate, ToShortDateString, ToShortTimeString, ToString ja ToUniversalTime.
Tässä otamme esimerkin C#:sta muuntaaksemme DateTime-arvon tiettyyn tyyppiin.
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()); } } }
Lähtö:
0)>0)>=>