Nous avons utilisé DateTime lorsqu'il est nécessaire de travailler avec les dates et les heures en C#.
Nous pouvons formater la date et l'heure dans différents formats grâce aux propriétés et méthodes de DateTime./p>
La valeur de DateTime est comprise entre minuit, le 1er janvier 0001, et 23:59:59, le 31 décembre 9999 après JC.
Ici, nous expliquerons comment créer le DateTime en C#.
Nous avons différentes manières de créer l'objet DateTime. Un objet DateTime a Time, Culture, Date, Localization, Milliseconds.
Nous avons ici un code qui montre les différents constructeurs utilisés par la structure DateTime pour créer les objets 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);
Propriétés de DateTime en C#
Le DateTime a la propriété Date et Time. À partir de DateTime, nous pouvons trouver la date et l'heure. DateTime contient également d'autres propriétés, telles que l'heure, la minute, la seconde, la milliseconde, l'année, le mois et le jour.
Les autres propriétés de DateTime sont :
- Nous pouvons obtenir le nom du jour de la semaine à l'aide de la propriété DayOfWeek.
- Pour obtenir le jour de l’année, nous utiliserons la propriété DayOfYear.
- Pour obtenir l'heure dans un DateTime, nous utilisons la propriété TimeOfDay.
- La propriété Today renverra l’objet DateTime, qui a la valeur d’aujourd’hui. La valeur de l'heure est 12:00:00
- La propriété Now renverra l'objet DateTime, qui a la date et l'heure actuelles.
- La propriété Utc de DateTime renverra le temps universel coordonné (UTC).
- La coche représente les cent nanosecondes dans DateTime. La propriété Ticks de DateTime renvoie le nombre de ticks dans un DateTime.
- La propriété Kind renvoie la valeur où la représentation de l'heure est effectuée par l'instance, qui est basée sur l'heure locale, le temps universel coordonné (UTC). Il affiche également la valeur par défaut non spécifiée.
Nous prenons ici un exemple d'utilisation des propriétés de DateTime dans le code C#.
Exemple:
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); } } }
Sortir:
Addition et soustraction du DateTime en C#
La structure DateTime fournit les méthodes permettant d'ajouter et de soustraire la date et l'heure vers et depuis l'objet DateTime. Nous pouvons ajouter et soustraire la date dans la structure DateTime vers et depuis l'objet DateTime. Pour l'addition et la soustraction dans DateTime, nous utilisons la structure TimeSpan.
Pour l'addition et la soustraction, nous pouvons utiliser la méthode Add et Subtract de l'objet DateTime. Tout d'abord, nous créons le TimeSpan avec les valeurs de date et d'heure où nous utilisons les méthodes Add et Subtract.
Ici, nous créons un code qui ajoutera 3 et soustraira les 30 jours à partir d'aujourd'hui et affichera le jour sur la console.
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); } } }
La structure DateTime contient les méthodes pour ajouter des années, des jours, des heures, des minutes et des secondes.
Pour ajouter les différents composants à l'objet DateTime, la méthode Add est utilisée .
// 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);
Le DateTime ne contient pas la méthode de soustraction. Pour soustraire le composant du DateTime, nous utiliserons uniquement la méthode de soustraction. Par exemple : si nous devons soustraire les 12 jours du DateTime, nous pouvons créer un autre objet de l'objet DateTime ou TimeSpan avec 12 jours. Nous allons maintenant soustraire cet objet du DateTime. À l'inverse, nous pouvons également utiliser l'opérateur moins pour soustraire le DateTime ou le TimeSpan du DateTime.
Nous allons maintenant créer un code à travers lequel nous pouvons créer l'objet du DateTime et soustraire un autre DateTime et un autre objet de TimeSpan. Dans le code, nous afficherons la soustraction uniquement des heures, des jours ou d’autres composants du 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());
Recherche des jours du mois
Pour trouver le nombre de jours dans le mois, nous avons utilisé la méthode statique JoursDansMois méthode. Cette méthode de recherche [] prend le paramètre en nombres de 1 à 12.
Ici, nous écrirons un code grâce auquel nous connaîtrons le nombre de jours dans un mois particulier.
Ici, nous découvrirons le nombre de jours en février 2020. Le résultat sera de 28 jours.
int NumberOfDays = DateTime.DaysInMonth(2004, 2); Console.WriteLine(NumberOfDays);
Avec la même technique, nous pouvons connaître le nombre total de jours dans une année. Pour cela, nous utiliserons la méthode 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></=>
Sortir:
Nous pouvons surcharger le ObtenirDateTimeFormats méthode, qui prend le spécificateur de format comme paramètre et convertit le DateTime dans ce format. Pour obtenir le format souhaité, nous devons comprendre le format du DateHeure prescripteurs.
Nous allons le montrer avec le code avec le modèle dans un tableau.
Code | Modèle |
---|---|
'd' | Date courte |
'D' | Rendez-vous long |
'F' | Heure complète. Court instant. |
'F' | Heure complète. Longue durée. |
'g' | Générer la date et l'heure. Longue durée. |
'G' | Date et heure générales. Longue durée. |
'M', je suis.' | Mois/jour |
'Oh','oh' | Date/heure de l’aller-retour. |
'R', 'r' | RFC1123 |
's' | Date et heure triables. |
't' | Heure de tri |
'T' | Longue durée |
'dans' | Date et heure universelles triables. |
'DANS' | Date-heure universelle universelle. |
'Et et' | Année mois |
Nous spécifierons le format du DateTime dans le code C# ci-dessous.
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); } } }
Sortir:
visualiseur Java
Nous pouvons également effectuer le formatage du DateTime en passant le spécificateur de format dans la méthode ToString() de DateTime. Nous allons maintenant écrire le code C# pour le formatage du DateTime à l'aide de la méthode ToString().
Console.WriteLine(DateOfFormat.ToString('r'));
Nous allons maintenant écrire un code C# pour les spécificateurs de format DateTime dans la méthode ToString().
Obtenez l'année bissextile et l'heure d'été
Grâce au code C#, nous obtiendrons l’année bissextile et l’heure d’été.
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)); } } }
Sortir:
Conversion de chaîne en DateTime
Pour convertir la chaîne en objet DateTime, nous avons utilisé la méthode Parse. Dans la méthode Parse, la chaîne de passage doit avoir le format correct du DateTime. Pour la conversion du DateTime en String, la méthode ToString() est utilisée.
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()); } } }
Sortir:
Conversion de DateTime en C#
La structure du DateTime est pleine de conversions explicites, qui convertissent le DateTime en type spécifique. Les méthodes sont ToFileTime, ToLocalTime, ToLongDateString, ToBinary, ToLongTimeString, ToOADate, ToShortDateString, ToShortTimeString, ToString et ToUniversalTime.
Ici, nous prendrons un exemple de C# pour convertir le DateTime en type spécifique.
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()); } } }
Sortir:
0)>0)>=>