DateTime Constructeurs

Définition

Initialise une nouvelle instance de la structure DateTime.

Surcharges

DateTime(Int64)

Initialise une nouvelle instance de la structure DateTime avec le nombre de graduations spécifié.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde et l'heure UTC ou locale spécifiés pour le calendrier spécifié.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde et l'heure UTC ou locale spécifiés pour le calendrier spécifié.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde et l'heure UTC ou locale spécifiés pour le calendrier spécifié.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde et l'heure UTC ou locale spécifiés pour le calendrier spécifié.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde et la milliseconde spécifiés pour le calendrier spécifié.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde et l'heure UTC ou locale.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde et la milliseconde spécifiés.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde et l'heure UTC ou locale spécifiés pour le calendrier spécifié.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde et l'heure UTC ou locale.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute et la seconde spécifiés.

DateTime(Int32, Int32, Int32, Calendar)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois et le jour spécifiés pour le calendrier spécifié.

DateTime(Int32, Int32, Int32)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois et le jour spécifiés.

DateTime(DateOnly, TimeOnly, DateTimeKind)

Initialise une nouvelle instance de la DateTime structure au spécifié DateOnly et TimeOnly en respectant le spécifiéDateTimeKind.

DateTime(Int64, DateTimeKind)

Initialise une nouvelle instance de la structure DateTime avec un nombre spécifié de graduations et une heure UTC ou locale.

DateTime(DateOnly, TimeOnly)

Initialise une nouvelle instance de la DateTime structure au spécifié DateOnly et TimeOnly. La nouvelle instance aura le Unspecified genre.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute et la seconde spécifiés pour le calendrier spécifié.

DateTime(Int64)

Initialise une nouvelle instance de la structure DateTime avec le nombre de graduations spécifié.

public:
 DateTime(long ticks);
public DateTime (long ticks);
new DateTime : int64 -> DateTime
Public Sub New (ticks As Long)

Paramètres

ticks
Int64

Date et heure exprimées en nombre d'intervalles de 100 nanosecondes écoulés depuis le 1er janvier 0001 à 00:00:00.000 (minuit) dans le calendrier grégorien.

Exceptions

ticks est inférieur à DateTime.MinValue ou supérieur à DateTime.MaxValue.

Exemples

L’exemple suivant illustre l’un des DateTime constructeurs .

// This example demonstrates the DateTime(Int64) constructor.
using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Instead of using the implicit, default "G" date and time format string, we 
   // use a custom format string that aligns the results and inserts leading zeroes.
   String^ format = "{0}) The {1} date and time is {2:MM/dd/yyyy hh:mm:ss tt}";
   
   // Create a DateTime for the maximum date and time using ticks.
   DateTime dt1 = DateTime(DateTime::MaxValue.Ticks);
   
   // Create a DateTime for the minimum date and time using ticks.
   DateTime dt2 = DateTime(DateTime::MinValue.Ticks);
   
   // Create a custom DateTime for 7/28/1979 at 10:35:05 PM using a 
   // calendar based on the "en-US" culture, and ticks. 
   Int64 ticks = DateTime(1979,07,28,22,35,5,(gcnew CultureInfo( "en-US",false ))->Calendar).Ticks;
   DateTime dt3 = DateTime(ticks);
   Console::WriteLine( format, 1, "maximum", dt1 );
   Console::WriteLine( format, 2, "minimum", dt2 );
   Console::WriteLine( format, 3, "custom ", dt3 );
   Console::WriteLine( "\nThe custom date and time is created from {0:N0} ticks.", ticks );
}

/*
This example produces the following results:

1) The maximum date and time is 12/31/9999 11:59:59 PM
2) The minimum date and time is 01/01/0001 12:00:00 AM
3) The custom  date and time is 07/28/1979 10:35:05 PM

The custom date and time is created from 624,376,461,050,000,000 ticks.

*/
// This example demonstrates the DateTime(Int64) constructor.
open System
open System.Globalization

// Create a DateTime for the maximum date and time using ticks.
let dt1 = DateTime DateTime.MaxValue.Ticks

// Create a DateTime for the minimum date and time using ticks.
let dt2 = DateTime DateTime.MinValue.Ticks

// Create a custom DateTime for 7/28/1979 at 10:35:05 PM using a
// calendar based on the "en-US" culture, and ticks.
let ticks = DateTime(1979, 07, 28, 22, 35, 5, CultureInfo("en-US", false).Calendar).Ticks
let dt3 = DateTime ticks

printfn $"""1) The maximum date and time is {dt1.ToString "MM-dd/yyyy hh:mm:ss tt"}"""
printfn $"""2) The minimum date and time is {dt2.ToString "MM/dd/yyyy hh:mm:ss tt"}"""
printfn $"""3) The custom  date and time is {dt3.ToString "MM/dd/yyyy hh:mm:ss tt"}"""

printfn $"\nThe custom date and time is created from {ticks:N0} ticks."

// This example produces the following results:
//
// 1) The maximum date and time is 12/31/9999 11:59:59 PM
// 2) The minimum date and time is 01/01/0001 12:00:00 AM
// 3) The custom  date and time is 07/28/1979 10:35:05 PM
//
// The custom date and time is created from 624,376,461,050,000,000 ticks.
// This example demonstrates the DateTime(Int64) constructor.
using System;
using System.Globalization;

class Sample
{
    public static void Main()
    {
// Instead of using the implicit, default "G" date and time format string, we
// use a custom format string that aligns the results and inserts leading zeroes.
    string format = "{0}) The {1} date and time is {2:MM/dd/yyyy hh:mm:ss tt}";

// Create a DateTime for the maximum date and time using ticks.
    DateTime dt1 = new DateTime(DateTime.MaxValue.Ticks);

// Create a DateTime for the minimum date and time using ticks.
    DateTime dt2 = new DateTime(DateTime.MinValue.Ticks);

// Create a custom DateTime for 7/28/1979 at 10:35:05 PM using a
// calendar based on the "en-US" culture, and ticks.
    long ticks = new DateTime(1979, 07, 28, 22, 35, 5,
    new CultureInfo("en-US", false).Calendar).Ticks;
    DateTime dt3 = new DateTime(ticks);

    Console.WriteLine(format, 1, "maximum", dt1);
    Console.WriteLine(format, 2, "minimum", dt2);
    Console.WriteLine(format, 3, "custom ", dt3);
    Console.WriteLine("\nThe custom date and time is created from {0:N0} ticks.", ticks);
    }
}
/*
This example produces the following results:

1) The maximum date and time is 12/31/9999 11:59:59 PM
2) The minimum date and time is 01/01/0001 12:00:00 AM
3) The custom  date and time is 07/28/1979 10:35:05 PM

The custom date and time is created from 624,376,461,050,000,000 ticks.

*/
' This example demonstrates the DateTime(Int64) constructor.
Imports System.Globalization

Class Sample
   Public Shared Sub Main()
      ' Instead of using the implicit, default "G" date and time format string, we 
      ' use a custom format string that aligns the results and inserts leading zeroes.
      Dim format As String = "{0}) The {1} date and time is {2:MM/dd/yyyy hh:mm:ss tt}"
      
      ' Create a DateTime for the maximum date and time using ticks.
      Dim dt1 As New DateTime(DateTime.MaxValue.Ticks)
      
      ' Create a DateTime for the minimum date and time using ticks.
      Dim dt2 As New DateTime(DateTime.MinValue.Ticks)
      
      ' Create a custom DateTime for 7/28/1979 at 10:35:05 PM using a 
      ' calendar based on the "en-US" culture, and ticks. 
      Dim ticks As Long = New DateTime(1979, 7, 28, 22, 35, 5, _
                                       New CultureInfo("en-US", False).Calendar).Ticks
      Dim dt3 As New DateTime(ticks)
      
      Console.WriteLine(format, 1, "maximum", dt1)
      Console.WriteLine(format, 2, "minimum", dt2)
      Console.WriteLine(format, 3, "custom ", dt3)
      Console.WriteLine(vbCrLf & "The custom date and time is created from {0:N0} ticks.", ticks)
   End Sub
End Class
'
'This example produces the following results:
'
'1) The maximum date and time is 12/31/9999 11:59:59 PM
'2) The minimum date and time is 01/01/0001 12:00:00 AM
'3) The custom  date and time is 07/28/1979 10:35:05 PM
'
'The custom date and time is created from 624,376,461,050,000,000 ticks.
'

Remarques

La propriété Kind est initialisée à Unspecified.

Pour les applications pour lesquelles la portabilité des données de date et d’heure ou un degré limité de reconnaissance de fuseau horaire est importante, vous pouvez utiliser le constructeur correspondant DateTimeOffset .

S’applique à

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde et l'heure UTC ou locale spécifiés pour le calendrier spécifié.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, System::Globalization::Calendar ^ calendar);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, System.Globalization.Calendar calendar);
new DateTime : int * int * int * int * int * int * int * int * System.Globalization.Calendar -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, microsecond As Integer, calendar As Calendar)

Paramètres

year
Int32

Année (de 1 au nombre d'années de calendar).

month
Int32

Mois (de 1 au nombre de mois de calendar).

day
Int32

Jour (de 1 au nombre de jours de month).

hour
Int32

Heures (0 à 23).

minute
Int32

Minutes (0 à 59).

second
Int32

Secondes (0 à 59).

millisecond
Int32

Millisecondes (0 à 999).

microsecond
Int32

Microsecondes (0 à 999).

calendar
Calendar

Calendrier utilisé pour interpréter year, month et day.

Exceptions

calendar est null

year n’appartient pas à la plage prise en charge par calendar.

- ou -

month est inférieur à 1 ou supérieur au nombre de mois dans calendar.

- ou -

day est inférieur à 1 ou supérieur au nombre de jours dans month.

- ou -

hour est inférieur à 0 ou supérieur à 23.

- ou -

minute est inférieur à 0 ou supérieur à 59.

- ou -

second est inférieur à 0 ou supérieur à 59.

- ou -

millisecond est inférieur à 0 ou supérieur à 999.

- ou -

microsecond est inférieur à 0 ou supérieur à 999.

Remarques

Les valeurs autorisées pour yearles paramètres , monthet day dépendent du calendar paramètre . Une exception est levée si la date et l’heure spécifiées ne peuvent pas être exprimées à l’aide de calendar.

Pour les applications pour lesquelles la portabilité des données de date et d’heure ou un degré limité de reconnaissance de fuseau horaire est importante, vous pouvez utiliser le constructeur correspondant DateTimeOffset .

S’applique à

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde et l'heure UTC ou locale spécifiés pour le calendrier spécifié.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * int * int * DateTimeKind -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, microsecond As Integer, kind As DateTimeKind)

Paramètres

year
Int32

Année (1 à 9999).

month
Int32

Mois (1 à 12).

day
Int32

Jour (de 1 au nombre de jours de month).

hour
Int32

Heures (0 à 23).

minute
Int32

Minutes (0 à 59).

second
Int32

Secondes (0 à 59).

millisecond
Int32

Millisecondes (0 à 999).

microsecond
Int32

Microsecondes (0 à 999).

kind
DateTimeKind

Une des valeurs d'énumération qui indique si year, month, day, hour, minute, second et millisecond spécifient une heure locale, une heure UTC, ou aucune des deux.

Exceptions

year est inférieur à 1 ou supérieur à 9 999.

- ou -

month est inférieur à 1 ou supérieur à 12.

- ou -

day est inférieur à 1 ou supérieur au nombre de jours dans month.

- ou -

hour est inférieur à 0 ou supérieur à 23.

- ou -

minute est inférieur à 0 ou supérieur à 59.

- ou -

second est inférieur à 0 ou supérieur à 59.

- ou -

millisecond est inférieur à 0 ou supérieur à 999.

- ou -

microsecond est inférieur à 0 ou supérieur à 999.

kind ne fait pas partie des valeurs DateTimeKind.

Remarques

Ce constructeur interprète year, month et day comme une année, un mois et un jour dans le calendrier grégorien. Pour instancier une DateTime valeur à l’aide de l’année, du mois et du jour dans un autre calendrier, appelez le DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructeur .

Pour les applications pour lesquelles la portabilité des données de date et d’heure ou un degré limité de reconnaissance de fuseau horaire est importante, vous pouvez utiliser le constructeur correspondant DateTimeOffset .

S’applique à

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde et l'heure UTC ou locale spécifiés pour le calendrier spécifié.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, System::Globalization::Calendar ^ calendar, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, System.Globalization.Calendar calendar, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * int * System.Globalization.Calendar * DateTimeKind -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, calendar As Calendar, kind As DateTimeKind)

Paramètres

year
Int32

Année (de 1 au nombre d'années de calendar).

month
Int32

Mois (de 1 au nombre de mois de calendar).

day
Int32

Jour (de 1 au nombre de jours de month).

hour
Int32

Heures (0 à 23).

minute
Int32

Minutes (0 à 59).

second
Int32

Secondes (0 à 59).

millisecond
Int32

Millisecondes (0 à 999).

calendar
Calendar

Calendrier utilisé pour interpréter year, month et day.

kind
DateTimeKind

Une des valeurs d'énumération qui indique si year, month, day, hour, minute, second et millisecond spécifient une heure locale, une heure UTC, ou aucune des deux.

Exceptions

calendar a la valeur null.

year n’appartient pas à la plage prise en charge par calendar.

- ou -

month est inférieur à 1 ou supérieur au nombre de mois dans calendar.

- ou -

day est inférieur à 1 ou supérieur au nombre de jours dans month.

- ou -

hour est inférieur à 0 ou supérieur à 23.

- ou -

minute est inférieur à 0 ou supérieur à 59.

- ou -

second est inférieur à 0 ou supérieur à 59.

- ou -

millisecond est inférieur à 0 ou supérieur à 999.

kind ne fait pas partie des valeurs DateTimeKind.

Exemples

L’exemple suivant appelle le DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructeur deux fois pour instancier deux DateTime valeurs. Le premier appel instancie une DateTime valeur à l’aide d’un PersianCalendar objet . Étant donné que le calendrier persan ne peut pas être désigné comme calendrier par défaut pour une culture, l’affichage d’une date dans le calendrier persan nécessite des appels individuels à ses PersianCalendar.GetMonthméthodes , PersianCalendar.GetDayOfMonthet PersianCalendar.GetYear . Le deuxième appel au constructeur instancie une DateTime valeur à l’aide d’un HijriCalendar objet . L’exemple change la culture actuelle en arabe (Syrie) et change le calendrier par défaut de la culture actuelle en calendrier Hijri. Étant donné que Hijri est le calendrier par défaut de la culture actuelle, la méthode l’utilise Console.WriteLine pour mettre en forme la date. Lorsque la culture actuelle précédente (qui est l’anglais (États-Unis) dans ce cas) est restaurée, la Console.WriteLine méthode utilise le calendrier grégorien par défaut de la culture actuelle pour mettre en forme la date.

using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Using the Persian Calendar:");
      PersianCalendar persian = new PersianCalendar();
      DateTime date1 = new DateTime(1389, 5, 27, 16, 32, 18, 500,
                                    persian, DateTimeKind.Local);
      Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind);
      Console.WriteLine("{0}/{1}/{2} {3}{8}{4:D2}{8}{5:D2}.{6:G3} {7}\n",
                                       persian.GetMonth(date1),
                                       persian.GetDayOfMonth(date1),
                                       persian.GetYear(date1),
                                       persian.GetHour(date1),
                                       persian.GetMinute(date1),
                                       persian.GetSecond(date1),
                                       persian.GetMilliseconds(date1),
                                       date1.Kind,
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator);

      Console.WriteLine("Using the Hijri Calendar:");
      // Get current culture so it can later be restored.
      CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture;

      // Define strings for use in composite formatting.
      string dFormat;
      string fmtString;
      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY");
      CultureInfo current = CultureInfo.CurrentCulture;
      current.DateTimeFormat.Calendar = hijri;
      dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}";
      DateTime date2 = new DateTime(1431, 9, 9, 16, 32, 18, 500,
                                    hijri, DateTimeKind.Local);
      Console.WriteLine(fmtString, current, GetCalendarName(hijri),
                        date2, date2.Kind);

      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern +" H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}";
      Console.WriteLine(fmtString,
                        CultureInfo.CurrentCulture,
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar),
                        date2, date2.Kind);
   }

   private static string GetCalendarName(Calendar cal)
   {
      return Regex.Match(cal.ToString(), "\\.(\\w+)Calendar").Groups[1].Value;
   }
}
// The example displays the following output:
//    Using the Persian Calendar:
//    8/18/2010 4:32:18.500 PM Local
//    5/27/1389 16:32:18.500 Local
//
//    Using the Hijri Calendar:
//    ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500 Local
//    en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500 Local
open System
open System.Globalization
open System.Text.RegularExpressions
open System.Threading

let getCalendarName (cal: Calendar) =
      Regex.Match(string cal, "\\.(\\w+)Calendar").Groups[1].Value

printfn "Using the Persian Calendar:"
let persian = PersianCalendar()
let date1 = DateTime(1389, 5, 27, 16, 32, 18, 500, persian, DateTimeKind.Local)
printfn $"""{date1.ToString "M/dd/yyyy h:mm:ss.fff tt"} {date1.Kind}"""
let sep = DateTimeFormatInfo.CurrentInfo.TimeSeparator
printfn $"{persian.GetMonth date1}/{persian.GetDayOfMonth date1}/{persian.GetYear date1} {persian.GetHour date1}{sep}{persian.GetMinute date1:D2}{sep}{persian.GetSecond date1:D2}.{persian.GetMilliseconds date1:G3} {date1.Kind}\n"

printfn "Using the Hijri Calendar:"
// Get current culture so it can later be restored.
let dftCulture = Thread.CurrentThread.CurrentCulture

// Define Hijri calendar.
let hijri = HijriCalendar()
// Make ar-SY the current culture and Hijri the current calendar.
Thread.CurrentThread.CurrentCulture <- CultureInfo "ar-SY"
let current = CultureInfo.CurrentCulture
current.DateTimeFormat.Calendar <- hijri

let dFormat = 
    let dFormat = current.DateTimeFormat.ShortDatePattern
    // Ensure year is displayed as four digits.
    Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff"

let fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}"
let date2 = DateTime(1431, 9, 9, 16, 32, 18, 500, hijri, DateTimeKind.Local)
Console.WriteLine(fmtString, current, getCalendarName hijri, date2, date2.Kind)

// Restore previous culture.
Thread.CurrentThread.CurrentCulture <- dftCulture
let dFormat2 = DateTimeFormatInfo.CurrentInfo.ShortDatePattern + " H:mm:ss.fff"
let fmtString2 = "{0} culture using the {1} calendar: {2:" + dFormat2 + "} {3}"
Console.WriteLine(fmtString2, CultureInfo.CurrentCulture, getCalendarName CultureInfo.CurrentCulture.Calendar, date2, date2.Kind)


// The example displays the following output:
//    Using the Persian Calendar:
//    8/18/2010 4:32:18.500 PM Local
//    5/27/1389 16:32:18.500 Local
//
//    Using the Hijri Calendar:
//    ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500 Local
//    en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500 Local
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(1389, 5, 27, 16, 32, 18, 500, _
                            persian, DateTimeKind.Local)
      Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind)
      Console.WriteLine("{0}/{1}/{2} {3}{8}{4:D2}{8}{5:D2}.{6:G3} {7}", _
                                       persian.GetMonth(date1), _
                                       persian.GetDayOfMonth(date1), _
                                       persian.GetYear(date1), _
                                       persian.GetHour(date1), _
                                       persian.GetMinute(date1), _
                                       persian.GetSecond(date1), _
                                       persian.GetMilliseconds(date1), _
                                       date1.Kind, _
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator)
      Console.WriteLine()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define strings for use in composite formatting.
      Dim dFormat As String 
      Dim fmtString As String 
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      current.DateTimeFormat.Calendar = hijri
      dFormat = current.DateTimeFormat.ShortDatePattern
      ' Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff"
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}"
      Dim date2 As New Date(1431, 9, 9, 16, 32, 18, 500, _
                            hijri, DateTimeKind.Local)
      Console.WriteLine(fmtString, current, GetCalendarName(hijri), _
                        date2, date2.Kind) 

      ' Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern +" H:mm:ss.fff"
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}"
      Console.WriteLine(fmtString, CultureInfo.CurrentCulture, _
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), _
                        date2, date2.Kind) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' The example displays the following output:
'       Using the Persian Calendar:
'       8/18/2010 4:32:18.500 PM
'       5/27/1389 16:32:18.500
'       
'       Using the Hijri Calendar:
'       ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500
'       en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500

Remarques

Les valeurs autorisées pour yearles paramètres , monthet day dépendent du calendar paramètre . Une exception est levée si la date et l’heure spécifiées ne peuvent pas être exprimées à l’aide de calendar.

Pour les applications pour lesquelles la portabilité des données de date et d’heure ou un degré limité de reconnaissance de fuseau horaire est importante, vous pouvez utiliser le constructeur correspondant DateTimeOffset .

Important

Les ères des calendriers japonais sont basées sur le règne de l’empereur et sont donc amenées à changer. Par exemple, le 1 mai 2019 a marqué le début de l’ère Reiwa dans JapaneseCalendar et JapaneseLunisolarCalendar. Ce changement d’ère affecte toutes les applications qui utilisent ces calendriers. Pour plus d’informations et pour déterminer si vos applications sont affectées, consultez Gestion d’une nouvelle ère dans le calendrier japonais dans .NET. Pour plus d’informations sur le test de vos applications sur des systèmes Windows afin de garantir leur préparation au changement d’ère, consultez Préparer votre application pour le changement d’ère japonaise. Pour connaître les fonctionnalités de .NET qui prennent en charge les calendriers avec plusieurs ères et pour connaître les meilleures pratiques lors de l’utilisation de calendriers qui prennent en charge plusieurs ères, consultez Utilisation d’ères.

L’espace System.Globalization de noms fournit plusieurs calendriers, notamment GregorianCalendar et JulianCalendar.

S’applique à

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde et l'heure UTC ou locale spécifiés pour le calendrier spécifié.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond);
new DateTime : int * int * int * int * int * int * int * int -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, microsecond As Integer)

Paramètres

year
Int32

Année (1 à 9999).

month
Int32

Mois (1 à 12).

day
Int32

Jour (de 1 au nombre de jours de month).

hour
Int32

Heures (0 à 23).

minute
Int32

Minutes (0 à 59).

second
Int32

Secondes (0 à 59).

millisecond
Int32

Millisecondes (0 à 999).

microsecond
Int32

Microsecondes (0 à 999).

Exceptions

year est inférieur à 1 ou supérieur à 9 999.

- ou -

month est inférieur à 1 ou supérieur à 12.

- ou -

day est inférieur à 1 ou supérieur au nombre de jours dans month.

- ou -

hour est inférieur à 0 ou supérieur à 23.

- ou -

minute est inférieur à 0 ou supérieur à 59.

- ou -

second est inférieur à 0 ou supérieur à 59.

- ou -

millisecond est inférieur à 0 ou supérieur à 999.

- ou -

microsecond est inférieur à 0 ou supérieur à 999.

Remarques

Ce constructeur interprète year, month et day comme une année, un mois et un jour dans le calendrier grégorien. Pour instancier une DateTime valeur à l’aide de l’année, du mois et du jour dans un autre calendrier, appelez le DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructeur .

La propriété Kind est initialisée à Unspecified.

Pour les applications pour lesquelles la portabilité des données de date et d’heure ou un degré limité de reconnaissance de fuseau horaire est importante, vous pouvez utiliser le constructeur correspondant DateTimeOffset .

S’applique à

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde et la milliseconde spécifiés pour le calendrier spécifié.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, System::Globalization::Calendar ^ calendar);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, System.Globalization.Calendar calendar);
new DateTime : int * int * int * int * int * int * int * System.Globalization.Calendar -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, calendar As Calendar)

Paramètres

year
Int32

Année (de 1 au nombre d'années de calendar).

month
Int32

Mois (de 1 au nombre de mois de calendar).

day
Int32

Jour (de 1 au nombre de jours de month).

hour
Int32

Heures (0 à 23).

minute
Int32

Minutes (0 à 59).

second
Int32

Secondes (0 à 59).

millisecond
Int32

Millisecondes (0 à 999).

calendar
Calendar

Calendrier utilisé pour interpréter year, month et day.

Exceptions

calendar a la valeur null.

year n’appartient pas à la plage prise en charge par calendar.

- ou -

month est inférieur à 1 ou supérieur au nombre de mois dans calendar.

- ou -

day est inférieur à 1 ou supérieur au nombre de jours dans month.

- ou -

hour est inférieur à 0 ou supérieur à 23.

- ou -

minute est inférieur à 0 ou supérieur à 59.

- ou -

second est inférieur à 0 ou supérieur à 59.

- ou -

millisecond est inférieur à 0 ou supérieur à 999.

Exemples

L’exemple suivant appelle le DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructeur deux fois pour instancier deux DateTime valeurs. Le premier appel instancie une DateTime valeur à l’aide d’un PersianCalendar objet . Étant donné que le calendrier persan ne peut pas être désigné comme calendrier par défaut pour une culture, l’affichage d’une date dans le calendrier persan nécessite des appels individuels à ses PersianCalendar.GetMonthméthodes , PersianCalendar.GetDayOfMonthet PersianCalendar.GetYear . Le deuxième appel au constructeur instancie une DateTime valeur à l’aide d’un HijriCalendar objet . L’exemple change la culture actuelle en arabe (Syrie) et change le calendrier par défaut de la culture actuelle en calendrier Hijri. Étant donné que Hijri est le calendrier par défaut de la culture actuelle, la méthode l’utilise Console.WriteLine pour mettre en forme la date. Lorsque la culture actuelle précédente (qui est l’anglais (États-Unis) dans ce cas) est restaurée, la Console.WriteLine méthode utilise le calendrier grégorien par défaut de la culture actuelle pour mettre en forme la date.

using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Using the Persian Calendar:");
      PersianCalendar persian = new PersianCalendar();
      DateTime date1 = new DateTime(1389, 5, 27, 16, 32, 18, 500, persian);
      Console.WriteLine(date1.ToString("M/dd/yyyy h:mm:ss.fff tt"));
      Console.WriteLine("{0}/{1}/{2} {3}{7}{4:D2}{7}{5:D2}.{6:G3}\n",
                                       persian.GetMonth(date1),
                                       persian.GetDayOfMonth(date1),
                                       persian.GetYear(date1),
                                       persian.GetHour(date1),
                                       persian.GetMinute(date1),
                                       persian.GetSecond(date1),
                                       persian.GetMilliseconds(date1),
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator);

      Console.WriteLine("Using the Hijri Calendar:");
      // Get current culture so it can later be restored.
      CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture;

      // Define strings for use in composite formatting.
      string dFormat;
      string fmtString;
      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY");
      CultureInfo current = CultureInfo.CurrentCulture;
      current.DateTimeFormat.Calendar = hijri;
      dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}";
      DateTime date2 = new DateTime(1431, 9, 9, 16, 32, 18, 500, hijri);
      Console.WriteLine(fmtString, current, GetCalendarName(hijri), date2);

      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern +" H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}";
      Console.WriteLine(fmtString,
                        CultureInfo.CurrentCulture,
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar),
                        date2);
   }

   private static string GetCalendarName(Calendar cal)
   {
      return Regex.Match(cal.ToString(), "\\.(\\w+)Calendar").Groups[1].Value;
   }
}
// The example displays the following output:
//       8/18/2010 4:32:18.500 PM
//       5/27/1389 16:32:18.500
//
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500
//       en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500
open System
open System.Globalization
open System.Text.RegularExpressions
open System.Threading

let getCalendarName (cal: Calendar) =
      Regex.Match(string cal, "\\.(\\w+)Calendar").Groups[1].Value

printfn "Using the Persian Calendar:"
let persian = PersianCalendar()
let date1 = DateTime(1389, 5, 27, 16, 32, 18, 500, persian)
printfn $"""{date1.ToString("M/dd/yyyy h:mm:ss.fff tt")}"""
let sep = DateTimeFormatInfo.CurrentInfo.TimeSeparator
printfn $"{persian.GetMonth date1}/{persian.GetDayOfMonth date1}/{persian.GetYear date1} {persian.GetHour date1}{sep}%02i{persian.GetMinute date1}{sep}%02i{persian.GetSecond date1}.%.3f{persian.GetMilliseconds date1}\n"

printfn "Using the Hijri Calendar:"
// Get current culture so it can later be restored.
let dftCulture = Thread.CurrentThread.CurrentCulture

// Define Hijri calendar.
let hijri = HijriCalendar()
// Make ar-SY the current culture and Hijri the current calendar.
Thread.CurrentThread.CurrentCulture <- CultureInfo "ar-SY"
let current = CultureInfo.CurrentCulture
current.DateTimeFormat.Calendar <- hijri

let dFormat = 
    let dFormat = current.DateTimeFormat.ShortDatePattern
    // Ensure year is displayed as four digits.
    Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff"

let fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}"
let date2 = DateTime(1431, 9, 9, 16, 32, 18, 500, hijri)
Console.WriteLine(fmtString, current, getCalendarName hijri, date2)

// Restore previous culture.
Thread.CurrentThread.CurrentCulture <- dftCulture
let dFormat2 = DateTimeFormatInfo.CurrentInfo.ShortDatePattern + " H:mm:ss.fff"
let fmtString2 = "{0} culture using the {1} calendar: {2:" + dFormat + "}"
Console.WriteLine(fmtString2, CultureInfo.CurrentCulture, getCalendarName CultureInfo.CurrentCulture.Calendar, date2)


// The example displays the following output:
//       8/18/2010 4:32:18.500 PM
//       5/27/1389 16:32:18.500
//
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500
//       en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(1389, 5, 27, 16, 32, 18, 500, persian)
      Console.WriteLine(date1.ToString("M/dd/yyyy h:mm:ss.fff tt"))
      Console.WriteLine("{0}/{1}/{2} {3}{7}{4:D2}{7}{5:D2}.{6:G3}", _
                                       persian.GetMonth(date1), _
                                       persian.GetDayOfMonth(date1), _
                                       persian.GetYear(date1), _
                                       persian.GetHour(date1), _
                                       persian.GetMinute(date1), _
                                       persian.GetSecond(date1), _
                                       persian.GetMilliseconds(date1), _
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator)
      Console.WriteLine()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define strings for use in composite formatting.
      Dim dFormat As String 
      Dim fmtString As String 
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      current.DateTimeFormat.Calendar = hijri
      dFormat = current.DateTimeFormat.ShortDatePattern
      ' Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff"
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}"
      Dim date2 As New Date(1431, 9, 9, 16, 32, 18, 500, hijri)
      Console.WriteLine(fmtString, current, GetCalendarName(hijri), date2) 

      ' Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern +" H:mm:ss.fff"
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}"
      Console.WriteLine(fmtString, CultureInfo.CurrentCulture, _
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), _
                        date2) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' The example displays the following output:
'       Using the Persian Calendar:
'       8/18/2010 4:32:18.500 PM
'       5/27/1389 16:32:18.500
'       
'       Using the Hijri Calendar:
'       ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500
'       en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500

Remarques

La propriété Kind est initialisée à Unspecified.

Les valeurs autorisées pour year, monthet day dépendent calendarde . Une exception est levée si la date et l’heure spécifiées ne peuvent pas être exprimées à l’aide de calendar.

Pour les applications pour lesquelles la portabilité des données de date et d’heure ou un degré limité de reconnaissance de fuseau horaire est importante, vous pouvez utiliser le constructeur correspondant DateTimeOffset .

Important

Les ères des calendriers japonais sont basées sur le règne de l’empereur et sont donc amenées à changer. Par exemple, le 1 mai 2019 a marqué le début de l’ère Reiwa dans JapaneseCalendar et JapaneseLunisolarCalendar. Ce changement d’ère affecte toutes les applications qui utilisent ces calendriers. Pour plus d’informations et pour déterminer si vos applications sont affectées, consultez Gestion d’une nouvelle ère dans le calendrier japonais dans .NET. Pour plus d’informations sur le test de vos applications sur des systèmes Windows afin de garantir leur préparation au changement d’ère, consultez Préparer votre application pour le changement d’ère japonaise. Pour connaître les fonctionnalités de .NET qui prennent en charge les calendriers avec plusieurs ères et pour connaître les meilleures pratiques lors de l’utilisation de calendriers qui prennent en charge plusieurs ères, consultez Utilisation d’ères.

L’espace System.Globalization de noms fournit plusieurs calendriers, notamment GregorianCalendar et JulianCalendar.

Voir aussi

S’applique à

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde et l'heure UTC ou locale.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * int * DateTimeKind -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, kind As DateTimeKind)

Paramètres

year
Int32

Année (1 à 9999).

month
Int32

Mois (1 à 12).

day
Int32

Jour (de 1 au nombre de jours de month).

hour
Int32

Heures (0 à 23).

minute
Int32

Minutes (0 à 59).

second
Int32

Secondes (0 à 59).

millisecond
Int32

Millisecondes (0 à 999).

kind
DateTimeKind

Une des valeurs d'énumération qui indique si year, month, day, hour, minute, second et millisecond spécifient une heure locale, une heure UTC, ou aucune des deux.

Exceptions

year est inférieur à 1 ou supérieur à 9 999.

- ou -

month est inférieur à 1 ou supérieur à 12.

- ou -

day est inférieur à 1 ou supérieur au nombre de jours dans month.

- ou -

hour est inférieur à 0 ou supérieur à 23.

- ou -

minute est inférieur à 0 ou supérieur à 59.

- ou -

second est inférieur à 0 ou supérieur à 59.

- ou -

millisecond est inférieur à 0 ou supérieur à 999.

kind ne fait pas partie des valeurs DateTimeKind.

Exemples

L’exemple suivant utilise le DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) constructeur pour instancier une DateTime valeur.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 18, 500,
                              DateTimeKind.Local);
Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind);
// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:18.500 PM Local
let date1 = DateTime(2010, 8, 18, 16, 32, 18, 500, DateTimeKind.Local)
printfn $"""{date1.ToString "M/dd/yyyy h:mm:ss.fff tt"} {date1.Kind}"""

// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:18.500 PM Local
Dim date1 As New Date(2010, 8, 18, 16, 32, 18, 500, DateTimeKind.Local)
Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind)
' The example displays the following output:
'      8/18/2010 4:32:18.500 PM Local

Remarques

Ce constructeur interprèteyear , monthet day comme une année, un mois et un jour dans le calendrier grégorien. Pour instancier une DateTime valeur à l’aide de l’année, du mois et du jour dans un autre calendrier, appelez le DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructeur.

Pour les applications pour lesquelles la portabilité des données de date et d’heure ou un degré limité de reconnaissance de fuseau horaire est importante, vous pouvez utiliser le constructeur correspondant DateTimeOffset .

S’applique à

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde et la milliseconde spécifiés.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond);
new DateTime : int * int * int * int * int * int * int -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer)

Paramètres

year
Int32

Année (1 à 9999).

month
Int32

Mois (1 à 12).

day
Int32

Jour (de 1 au nombre de jours de month).

hour
Int32

Heures (0 à 23).

minute
Int32

Minutes (0 à 59).

second
Int32

Secondes (0 à 59).

millisecond
Int32

Millisecondes (0 à 999).

Exceptions

year est inférieur à 1 ou supérieur à 9 999.

- ou -

month est inférieur à 1 ou supérieur à 12.

- ou -

day est inférieur à 1 ou supérieur au nombre de jours dans month.

- ou -

hour est inférieur à 0 ou supérieur à 23.

- ou -

minute est inférieur à 0 ou supérieur à 59.

- ou -

second est inférieur à 0 ou supérieur à 59.

- ou -

millisecond est inférieur à 0 ou supérieur à 999.

Exemples

L’exemple suivant utilise le DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) constructeur pour instancier une DateTime valeur.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 18, 500);
Console.WriteLine(date1.ToString("M/dd/yyyy h:mm:ss.fff tt"));
// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:18.500 PM
let date1 = DateTime(2010, 8, 18, 16, 32, 18, 500)

date1.ToString "M/dd/yyyy h:mm:ss.fff tt"
|> printfn "%s"

// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:18.500 PM
Dim date1 As New Date(2010, 8, 18, 16, 32, 18, 500)
Console.WriteLine(date1.ToString("M/dd/yyyy h:mm:ss.fff tt"))
' The example displays the following output:
'      8/18/2010 4:32:18.500 PM

Remarques

Ce constructeur interprèteyear , monthet day comme une année, un mois et un jour dans le calendrier grégorien. Pour instancier une DateTime valeur à l’aide de l’année, du mois et du jour dans un autre calendrier, appelez le DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructeur.

La propriété Kind est initialisée à Unspecified.

Pour les applications pour lesquelles la portabilité des données de date et d’heure ou un degré limité de reconnaissance de fuseau horaire est importante, vous pouvez utiliser le constructeur correspondant DateTimeOffset .

Voir aussi

S’applique à

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde et l'heure UTC ou locale spécifiés pour le calendrier spécifié.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, System::Globalization::Calendar ^ calendar, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, System.Globalization.Calendar calendar, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * int * int * System.Globalization.Calendar * DateTimeKind -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, microsecond As Integer, calendar As Calendar, kind As DateTimeKind)

Paramètres

year
Int32

Année (de 1 au nombre d'années de calendar).

month
Int32

Mois (de 1 au nombre de mois de calendar).

day
Int32

Jour (de 1 au nombre de jours de month).

hour
Int32

Heures (0 à 23).

minute
Int32

Minutes (0 à 59).

second
Int32

Secondes (0 à 59).

millisecond
Int32

Millisecondes (0 à 999).

microsecond
Int32

Microsecondes (0 à 999).

calendar
Calendar

Calendrier utilisé pour interpréter year, month et day.

kind
DateTimeKind

Une des valeurs d'énumération qui indique si year, month, day, hour, minute, second et millisecond spécifient une heure locale, une heure UTC, ou aucune des deux.

Exceptions

calendar est null

year n’appartient pas à la plage prise en charge par calendar.

- ou -

month est inférieur à 1 ou supérieur au nombre de mois dans calendar.

- ou -

day est inférieur à 1 ou supérieur au nombre de jours dans month.

- ou -

hour est inférieur à 0 ou supérieur à 23.

- ou -

minute est inférieur à 0 ou supérieur à 59.

- ou -

second est inférieur à 0 ou supérieur à 59.

- ou -

millisecond est inférieur à 0 ou supérieur à 999.

- ou -

microsecond est inférieur à 0 ou supérieur à 999.

kind ne fait pas partie des valeurs DateTimeKind.

Remarques

Les valeurs autorisées pour yearles paramètres , monthet day dépendent du calendar paramètre . Une exception est levée si la date et l’heure spécifiées ne peuvent pas être exprimées à l’aide de calendar.

Pour les applications pour lesquelles la portabilité des données de date et d’heure ou un degré limité de reconnaissance de fuseau horaire est importante, vous pouvez utiliser le constructeur correspondant DateTimeOffset .

S’applique à

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde et l'heure UTC ou locale.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * DateTimeKind -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, kind As DateTimeKind)

Paramètres

year
Int32

Année (1 à 9999).

month
Int32

Mois (1 à 12).

day
Int32

Jour (de 1 au nombre de jours de month).

hour
Int32

Heures (0 à 23).

minute
Int32

Minutes (0 à 59).

second
Int32

Secondes (0 à 59).

kind
DateTimeKind

Une des valeurs d'énumération qui indique si year, month, day, hour, minute et second spécifient une heure locale, une heure UTC, ou aucune des deux.

Exceptions

year est inférieur à 1 ou supérieur à 9 999.

- ou -

month est inférieur à 1 ou supérieur à 12.

- ou -

day est inférieur à 1 ou supérieur au nombre de jours dans month.

- ou -

hour est inférieur à 0 ou supérieur à 23.

- ou -

minute est inférieur à 0 ou supérieur à 59.

- ou -

second est inférieur à 0 ou supérieur à 59.

kind ne fait pas partie des valeurs DateTimeKind.

Exemples

L’exemple suivant utilise le DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) constructeur pour instancier une DateTime valeur.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 0, DateTimeKind.Local);
Console.WriteLine("{0} {1}", date1, date1.Kind);
// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:00 PM Local
let date1 = DateTime(2010, 8, 18, 16, 32, 0, DateTimeKind.Local)
printfn $"{date1} {date1.Kind}"

// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:00 PM Local
Dim date1 As New Date(2010, 8, 18, 16, 32, 0, DateTimeKind.Local)
Console.WriteLine("{0} {1}", date1, date1.Kind)
' The example displays the following output:
'      8/18/2010 4:32:00 PM Local

Remarques

Ce constructeur interprèteyear, monthet day comme une année, un mois et un jour dans le calendrier grégorien. Pour instancier une DateTime valeur à l’aide de l’année, du mois et du jour d’un autre calendrier, appelez le DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructeur.

Pour les applications pour lesquelles la portabilité des données de date et d’heure ou une connaissance limitée du fuseau horaire est importante, vous pouvez utiliser le constructeur correspondant DateTimeOffset .

S’applique à

DateTime(Int32, Int32, Int32, Int32, Int32, Int32)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute et la seconde spécifiés.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second);
public DateTime (int year, int month, int day, int hour, int minute, int second);
new DateTime : int * int * int * int * int * int -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer)

Paramètres

year
Int32

Année (1 à 9999).

month
Int32

Mois (1 à 12).

day
Int32

Jour (de 1 au nombre de jours de month).

hour
Int32

Heures (0 à 23).

minute
Int32

Minutes (0 à 59).

second
Int32

Secondes (0 à 59).

Exceptions

year est inférieur à 1 ou supérieur à 9 999.

- ou -

month est inférieur à 1 ou supérieur à 12.

- ou -

day est inférieur à 1 ou supérieur au nombre de jours dans month.

- ou -

hour est inférieur à 0 ou supérieur à 23.

- ou -

minute est inférieur à 0 ou supérieur à 59.

- ou -

second est inférieur à 0 ou supérieur à 59.

Exemples

L’exemple suivant utilise le DateTime constructeur pour instancier une DateTime valeur.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 0);
Console.WriteLine(date1.ToString());
// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:00 PM
let date1 = DateTime(2010, 8, 18, 16, 32, 0)
printfn $"{date1}"

// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:00 PM
Dim date1 As New Date(2010, 8, 18, 16, 32, 0)
Console.WriteLine(date1.ToString())
' The example displays the following output:
'      8/18/2010 4:32:00 PM

Remarques

La propriété Kind est initialisée à Unspecified.

Ce constructeur interprèteyear, monthet day comme une année, un mois et un jour dans le calendrier grégorien. Pour instancier une DateTime valeur à l’aide de l’année, du mois et du jour d’un autre calendrier, appelez le DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructeur.

Pour les applications pour lesquelles la portabilité des données de date et d’heure ou une connaissance limitée du fuseau horaire est importante, vous pouvez utiliser le constructeur correspondant DateTimeOffset .

S’applique à

DateTime(Int32, Int32, Int32, Calendar)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois et le jour spécifiés pour le calendrier spécifié.

public:
 DateTime(int year, int month, int day, System::Globalization::Calendar ^ calendar);
public DateTime (int year, int month, int day, System.Globalization.Calendar calendar);
new DateTime : int * int * int * System.Globalization.Calendar -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, calendar As Calendar)

Paramètres

year
Int32

Année (de 1 au nombre d'années de calendar).

month
Int32

Mois (de 1 au nombre de mois de calendar).

day
Int32

Jour (de 1 au nombre de jours de month).

calendar
Calendar

Calendrier utilisé pour interpréter year, month et day.

Exceptions

calendar a la valeur null.

year n’appartient pas à la plage prise en charge par calendar.

- ou -

month est inférieur à 1 ou supérieur au nombre de mois dans calendar.

- ou -

day est inférieur à 1 ou supérieur au nombre de jours dans month.

Exemples

L’exemple suivant appelle le DateTime(Int32, Int32, Int32, Calendar) constructeur deux fois pour instancier deux DateTime valeurs. Le premier appel instancie une DateTime valeur à l’aide d’un PersianCalendar objet. Étant donné que le calendrier persan ne peut pas être désigné comme calendrier par défaut pour une culture, l’affichage d’une date dans le calendrier persan nécessite des appels individuels à ses PersianCalendar.GetMonthméthodes , PersianCalendar.GetDayOfMonthet PersianCalendar.GetYear . Le deuxième appel au constructeur instancie une DateTime valeur à l’aide d’un HijriCalendar objet. L’exemple change la culture actuelle en arabe (Syrie) et change le calendrier par défaut de la culture actuelle en calendrier Hijri. Étant donné que Hijri est le calendrier par défaut de la culture actuelle, la méthode l’utilise Console.WriteLine pour mettre en forme la date. Lorsque la culture actuelle précédente (qui est l’anglais (États-Unis) est restaurée, la Console.WriteLine méthode utilise le calendrier grégorien par défaut de la culture actuelle pour mettre en forme la date.

using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Using the Persian Calendar:");
      PersianCalendar persian = new PersianCalendar();
      DateTime date1 = new DateTime(1389, 5, 27, persian);
      Console.WriteLine(date1.ToString());
      Console.WriteLine("{0}/{1}/{2}\n", persian.GetMonth(date1),
                                       persian.GetDayOfMonth(date1),
                                       persian.GetYear(date1));

      Console.WriteLine("Using the Hijri Calendar:");
      // Get current culture so it can later be restored.
      CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture;

      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY");
      CultureInfo current = CultureInfo.CurrentCulture;
      current.DateTimeFormat.Calendar = hijri;
      string dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy");
      current.DateTimeFormat.ShortDatePattern = dFormat;
      DateTime date2 = new DateTime(1431, 9, 9, hijri);
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}", current,
                        GetCalendarName(hijri), date2);

      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}",
                        CultureInfo.CurrentCulture,
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar),
                        date2);
   }

   private static string GetCalendarName(Calendar cal)
   {
      return Regex.Match(cal.ToString(), "\\.(\\w+)Calendar").Groups[1].Value;
   }
}
// The example displays the following output:
//       Using the Persian Calendar:
//       8/18/2010 12:00:00 AM
//       5/27/1389
//
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431
//       en-US culture using the Gregorian calendar: 8/18/2010
open System
open System.Globalization
open System.Text.RegularExpressions
open System.Threading

let getCalendarName (cal: Calendar) =
    Regex.Match(string cal, "\\.(\\w+)Calendar").Groups[1].Value

printfn "Using the Persian Calendar:"
let persian = PersianCalendar()
let date1 = DateTime(1389, 5, 27, persian)
printfn $"{date1}"
printfn $"{persian.GetMonth date1}/{persian.GetDayOfMonth date1}/{persian.GetYear date1}\n"

printfn "Using the Hijri Calendar:"
// Get current culture so it can later be restored.
let dftCulture = Thread.CurrentThread.CurrentCulture

// Define Hijri calendar.
let hijri = HijriCalendar()
// Make ar-SY the current culture and Hijri the current calendar.
Thread.CurrentThread.CurrentCulture <- CultureInfo "ar-SY"
let current = CultureInfo.CurrentCulture
current.DateTimeFormat.Calendar <- hijri

let dFormat =
    let dFormat = current.DateTimeFormat.ShortDatePattern
    // Ensure year is displayed as four digits.
    Regex.Replace(dFormat, "/yy$", "/yyyy")

current.DateTimeFormat.ShortDatePattern <- dFormat
let date2 = DateTime(1431, 9, 9, hijri)
printfn $"{current} culture using the {getCalendarName hijri} calendar: {date2:d}"

// Restore previous culture.
Thread.CurrentThread.CurrentCulture <- dftCulture
printfn $"{CultureInfo.CurrentCulture} culture using the {getCalendarName CultureInfo.CurrentCulture.Calendar} calendar: {date2:d}"


// The example displays the following output:
//       Using the Persian Calendar:
//       8/18/2010 12:00:00 AM
//       5/27/1389
//
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431
//       en-US culture using the Gregorian calendar: 8/18/2010
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(1389, 5, 27, persian)
      Console.WriteLine(date1.ToString())
      Console.WriteLine("{0}/{1}/{2}", persian.GetMonth(date1), _
                                       persian.GetDayOfMonth(date1), _
                                       persian.GetYear(date1))
      Console.WriteLine()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      current.DateTimeFormat.Calendar = hijri
      Dim dFormat As String = current.DateTimeFormat.ShortDatePattern
      ' Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy")
      current.DateTimeFormat.ShortDatePattern = dFormat
      Dim date2 As New Date(1431, 9, 9, hijri)
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}", current, _
                        GetCalendarName(hijri), date2) 
      
      ' Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}", _
                        CultureInfo.CurrentCulture, _
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), _
                        date2) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' The example displays the following output:
'       Using the Persian Calendar:
'       8/18/2010 12:00:00 AM
'       5/27/1389
'       
'       Using the Hijri Calendar:
'       ar-SY culture using the Hijri calendar: 09/09/1431
'       en-US culture using the Gregorian calendar: 8/18/2010

Remarques

L’heure de la journée pour le résultat DateTime est minuit (00:00:00). La propriété Kind est initialisée à Unspecified.

Les valeurs autorisées pour year, monthet day dépendent calendarde . Une exception est levée si la date et l’heure spécifiées ne peuvent pas être exprimées à l’aide de calendar.

Important

Les ères des calendriers japonais sont basées sur le règne de l’empereur et sont donc amenées à changer. Par exemple, le 1 mai 2019 a marqué le début de l’ère Reiwa dans JapaneseCalendar et JapaneseLunisolarCalendar. Ce changement d’ère affecte toutes les applications qui utilisent ces calendriers. Pour plus d’informations et pour déterminer si vos applications sont affectées, consultez Gestion d’une nouvelle ère dans le calendrier japonais dans .NET. Pour plus d’informations sur le test de vos applications sur les systèmes Windows afin de garantir leur préparation au changement d’ère, consultez Préparer votre application pour le changement d’ère japonaise. Pour connaître les fonctionnalités de .NET qui prennent en charge les calendriers avec plusieurs ères et pour connaître les meilleures pratiques lors de l’utilisation de calendriers qui prennent en charge plusieurs ères, consultez Utilisation des ères.

L’espace System.Globalization de noms fournit plusieurs calendriers, notamment GregorianCalendar et JulianCalendar.

Voir aussi

S’applique à

DateTime(Int32, Int32, Int32)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois et le jour spécifiés.

public:
 DateTime(int year, int month, int day);
public DateTime (int year, int month, int day);
new DateTime : int * int * int -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer)

Paramètres

year
Int32

Année (1 à 9999).

month
Int32

Mois (1 à 12).

day
Int32

Jour (de 1 au nombre de jours de month).

Exceptions

year est inférieur à 1 ou supérieur à 9 999.

- ou -

month est inférieur à 1 ou supérieur à 12.

- ou -

day est inférieur à 1 ou supérieur au nombre de jours dans month.

Exemples

L’exemple suivant utilise le DateTime(Int32, Int32, Int32) constructeur pour instancier une DateTime valeur. L’exemple montre également que cette surcharge crée une DateTime valeur dont le composant heure est égal à minuit (ou 0:00).

DateTime date1 = new DateTime(2010, 8, 18);
Console.WriteLine(date1.ToString());
// The example displays the following output:
//      8/18/2010 12:00:00 AM
let date1 = DateTime(2010, 8, 18)
printfn $"{date1}"

// The example displays the following output:
//      8/18/2010 12:00:00 AM
Dim date1 As New Date(2010, 8, 18)
Console.WriteLine(date1.ToString())
' The example displays the following output:
'      8/18/2010 12:00:00 AM

Remarques

Ce constructeur interprète year, monthet day comme une année, un mois et un jour dans le calendrier grégorien. Pour instancier une DateTime valeur à l’aide de l’année, du mois et du jour d’un autre calendrier, appelez le DateTime(Int32, Int32, Int32, Calendar) constructeur.

L’heure de la journée pour le résultat DateTime est minuit (00:00:00). La propriété Kind est initialisée à DateTimeKind.Unspecified.

S’applique à

DateTime(DateOnly, TimeOnly, DateTimeKind)

Initialise une nouvelle instance de la DateTime structure au spécifié DateOnly et TimeOnly en respectant le spécifiéDateTimeKind.

public:
 DateTime(DateOnly date, TimeOnly time, DateTimeKind kind);
public DateTime (DateOnly date, TimeOnly time, DateTimeKind kind);
new DateTime : DateOnly * TimeOnly * DateTimeKind -> DateTime
Public Sub New (date As DateOnly, time As TimeOnly, kind As DateTimeKind)

Paramètres

date
DateOnly

Partie date.

time
TimeOnly

Partie de temps.

kind
DateTimeKind

Une des valeurs d’énumération qui indique si date et time spécifient une heure locale, le temps universel coordonné (UTC) ou ni l’un ni l’autre.

S’applique à

DateTime(Int64, DateTimeKind)

Initialise une nouvelle instance de la structure DateTime avec un nombre spécifié de graduations et une heure UTC ou locale.

public:
 DateTime(long ticks, DateTimeKind kind);
public DateTime (long ticks, DateTimeKind kind);
new DateTime : int64 * DateTimeKind -> DateTime
Public Sub New (ticks As Long, kind As DateTimeKind)

Paramètres

ticks
Int64

Date et heure exprimées en nombre d'intervalles de 100 nanosecondes écoulés depuis le 1er janvier 0001 à 00:00:00.000 (minuit) dans le calendrier grégorien.

kind
DateTimeKind

Une des valeurs d'énumération qui indique si ticks spécifie une heure locale, une heure UTC, ou aucune des deux.

Exceptions

ticks est inférieur à DateTime.MinValue ou supérieur à DateTime.MaxValue.

kind ne fait pas partie des valeurs DateTimeKind.

Remarques

Pour les applications pour lesquelles la portabilité des données de date et d’heure ou un degré limité de reconnaissance de fuseau horaire est importante, vous pouvez utiliser le constructeur correspondant DateTimeOffset .

S’applique à

DateTime(DateOnly, TimeOnly)

Initialise une nouvelle instance de la DateTime structure au spécifié DateOnly et TimeOnly. La nouvelle instance aura le Unspecified genre.

public:
 DateTime(DateOnly date, TimeOnly time);
public DateTime (DateOnly date, TimeOnly time);
new DateTime : DateOnly * TimeOnly -> DateTime
Public Sub New (date As DateOnly, time As TimeOnly)

Paramètres

date
DateOnly

Partie date.

time
TimeOnly

La partie temps.

S’applique à

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute et la seconde spécifiés pour le calendrier spécifié.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, System::Globalization::Calendar ^ calendar);
public DateTime (int year, int month, int day, int hour, int minute, int second, System.Globalization.Calendar calendar);
new DateTime : int * int * int * int * int * int * System.Globalization.Calendar -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, calendar As Calendar)

Paramètres

year
Int32

Année (de 1 au nombre d'années de calendar).

month
Int32

Mois (de 1 au nombre de mois de calendar).

day
Int32

Jour (de 1 au nombre de jours de month).

hour
Int32

Heures (0 à 23).

minute
Int32

Minutes (0 à 59).

second
Int32

Secondes (0 à 59).

calendar
Calendar

Calendrier utilisé pour interpréter year, month et day.

Exceptions

calendar a la valeur null.

year n’appartient pas à la plage prise en charge par calendar.

- ou -

month est inférieur à 1 ou supérieur au nombre de mois dans calendar.

- ou -

day est inférieur à 1 ou supérieur au nombre de jours dans month.

- ou -

hour est inférieur à 0 ou supérieur à 23

- ou -

minute est inférieur à 0 ou supérieur à 59.

- ou -

second est inférieur à 0 ou supérieur à 59.

Exemples

L’exemple suivant appelle le DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructeur deux fois pour instancier deux DateTime valeurs. Le premier appel instancie une DateTime valeur à l’aide d’un PersianCalendar objet . Étant donné que le calendrier persan ne peut pas être désigné comme calendrier par défaut pour une culture, l’affichage d’une date dans le calendrier persan nécessite des appels individuels à ses PersianCalendar.GetMonthméthodes , PersianCalendar.GetDayOfMonthet PersianCalendar.GetYear . Le deuxième appel au constructeur instancie une DateTime valeur à l’aide d’un HijriCalendar objet . L’exemple change la culture actuelle en arabe (Syrie) et change le calendrier par défaut de la culture actuelle en calendrier Hijri. Étant donné que Hijri est le calendrier par défaut de la culture actuelle, la méthode l’utilise Console.WriteLine pour mettre en forme la date. Lorsque la culture actuelle précédente (qui est l’anglais (États-Unis) dans ce cas) est restaurée, la Console.WriteLine méthode utilise le calendrier grégorien par défaut de la culture actuelle pour mettre en forme la date.

using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Using the Persian Calendar:");
      PersianCalendar persian = new PersianCalendar();
      DateTime date1 = new DateTime(1389, 5, 27, 16, 32, 0, persian);
      Console.WriteLine(date1.ToString());
      Console.WriteLine("{0}/{1}/{2} {3}{6}{4:D2}{6}{5:D2}\n",
                                       persian.GetMonth(date1),
                                       persian.GetDayOfMonth(date1),
                                       persian.GetYear(date1),
                                       persian.GetHour(date1),
                                       persian.GetMinute(date1),
                                       persian.GetSecond(date1),
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator);

      Console.WriteLine("Using the Hijri Calendar:");
      // Get current culture so it can later be restored.
      CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture;

      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY");
      CultureInfo current = CultureInfo.CurrentCulture;
      current.DateTimeFormat.Calendar = hijri;
      string dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy");
      current.DateTimeFormat.ShortDatePattern = dFormat;
      DateTime date2 = new DateTime(1431, 9, 9, 16, 32, 18, hijri);
      Console.WriteLine("{0} culture using the {1} calendar: {2:g}", current,
                        GetCalendarName(hijri), date2);

      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      Console.WriteLine("{0} culture using the {1} calendar: {2:g}",
                        CultureInfo.CurrentCulture,
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar),
                        date2);
   }

   private static string GetCalendarName(Calendar cal)
   {
      return Regex.Match(cal.ToString(), "\\.(\\w+)Calendar").Groups[1].Value;
   }
}
// The example displays the following output:
//       Using the Persian Calendar:
//       8/18/2010 4:32:00 PM
//       5/27/1389 16:32:00
//
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431 04:32 م
//       en-US culture using the Gregorian calendar: 8/18/2010 4:32 PM
open System
open System.Globalization
open System.Text.RegularExpressions
open System.Threading

let getCalendarName (cal: Calendar) =
    Regex.Match(string cal, "\\.(\\w+)Calendar").Groups[1].Value

printfn "Using the Persian Calendar:"
let persian = PersianCalendar()
let date1 = DateTime(1389, 5, 27, 16, 32, 0, persian)
printfn $"{date1}"
let sep = DateTimeFormatInfo.CurrentInfo.TimeSeparator
printfn $"{persian.GetMonth date1}/{persian.GetDayOfMonth date1}/{persian.GetYear date1} {persian.GetHour date1}{sep}%02i{persian.GetMinute date1}{sep}%02i{persian.GetSecond date1}\n"

printfn "Using the Hijri Calendar:"

// Get current culture so it can later be restored.
let dftCulture = Thread.CurrentThread.CurrentCulture

// Define Hijri calendar.
let hijri = HijriCalendar()

// Make ar-SY the current culture and Hijri the current calendar.
Thread.CurrentThread.CurrentCulture <- CultureInfo "ar-SY"
let current = CultureInfo.CurrentCulture
current.DateTimeFormat.Calendar <- hijri
let dFormat = 
    let dFormat = current.DateTimeFormat.ShortDatePattern
    // Ensure year is displayed as four digits.
    Regex.Replace(dFormat, "/yy$", "/yyyy")

current.DateTimeFormat.ShortDatePattern <- dFormat
let date2 = DateTime(1431, 9, 9, 16, 32, 18, hijri)
printfn $"{current} culture using the {getCalendarName hijri} calendar: {date2:g}"

// Restore previous culture.
Thread.CurrentThread.CurrentCulture <- dftCulture
printfn $"{CultureInfo.CurrentCulture} culture using the {getCalendarName CultureInfo.CurrentCulture.Calendar} calendar: {date2:g}"


// The example displays the following output:
//       Using the Persian Calendar:
//       8/18/2010 4:32:00 PM
//       5/27/1389 16:32:00
//
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431 04:32 م
//       en-US culture using the Gregorian calendar: 8/18/2010 4:32 PM
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(1389, 5, 27, 16, 32, 0, persian)
      Console.WriteLine(date1.ToString())
      Console.WriteLine("{0}/{1}/{2} {3}{6}{4:D2}{6}{5:D2}", persian.GetMonth(date1), _
                                       persian.GetDayOfMonth(date1), _
                                       persian.GetYear(date1), _
                                       persian.GetHour(date1), _
                                       persian.GetMinute(date1), _
                                       persian.GetSecond(date1), _
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator)
      Console.WriteLine()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      current.DateTimeFormat.Calendar = hijri
      Dim dFormat As String = current.DateTimeFormat.ShortDatePattern
      ' Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy")
      current.DateTimeFormat.ShortDatePattern = dFormat
      Dim date2 As New Date(1431, 9, 9, 16, 32, 0, hijri)
      Console.WriteLine("{0} culture using the {1} calendar: {2:g}", current, _
                        GetCalendarName(hijri), date2) 

      ' Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture
      Console.WriteLine("{0} culture using the {1} calendar: {2:g}", _
                        CultureInfo.CurrentCulture, _
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), _
                        date2) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' The example displays the following output:
'       Using the Persian Calendar:
'       8/18/2010 4:32:00 PM
'       5/27/1389 16:32:00
'       
'       Using the Hijri Calendar:
'       ar-SY culture using the Hijri calendar: 09/09/1431 04:32 م
'       en-US culture using the Gregorian calendar: 8/18/2010 4:32 PM

Remarques

La propriété Kind est initialisée à Unspecified.

Les valeurs autorisées pour year, monthet day dépendent calendarde . Une exception est levée si la date et l’heure spécifiées ne peuvent pas être exprimées à l’aide de calendar.

Important

Les ères des calendriers japonais sont basées sur le règne de l’empereur et sont donc amenées à changer. Par exemple, le 1 mai 2019 a marqué le début de l’ère Reiwa dans JapaneseCalendar et JapaneseLunisolarCalendar. Ce changement d’ère affecte toutes les applications qui utilisent ces calendriers. Pour plus d’informations et pour déterminer si vos applications sont affectées, consultez Gestion d’une nouvelle ère dans le calendrier japonais dans .NET. Pour plus d’informations sur le test de vos applications sur des systèmes Windows afin de garantir leur préparation au changement d’ère, consultez Préparer votre application pour le changement d’ère japonaise. Pour connaître les fonctionnalités de .NET qui prennent en charge les calendriers avec plusieurs ères et pour connaître les meilleures pratiques lors de l’utilisation de calendriers qui prennent en charge plusieurs ères, consultez Utilisation d’ères.

L’espace System.Globalization de noms fournit plusieurs calendriers, notamment GregorianCalendar et JulianCalendar.

Voir aussi

S’applique à