DateTime DateTime DateTime DateTime Constructors

Definición

Sobrecargas

DateTime(Int64) DateTime(Int64) DateTime(Int64) DateTime(Int64)

Inicializa una nueva instancia de la estructura DateTime en un número de pasos especificado.Initializes a new instance of the DateTime structure to a specified number of ticks.

DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind)

Inicializa una nueva instancia de la estructura DateTime en el número de pasos y hora universal coordinada (UTC) u hora local especificados.Initializes a new instance of the DateTime structure to a specified number of ticks and to Coordinated Universal Time (UTC) or local time.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes y día especificados.Initializes a new instance of the DateTime structure to the specified year, month, and day.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes y día especificados para el calendario determinado.Initializes a new instance of the DateTime structure to the specified year, month, and day for the specified calendar.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto y segundo especificados.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto, segundo y hora universal coordinada (UTC) u hora local especificados.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and Coordinated Universal Time (UTC) or local time.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto y segundo especificados para el calendario indicado.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second for the specified calendar.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto, segundo y milisegundo especificados.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto, segundo, milisegundo y hora universal coordinada (UTC) u hora local especificados.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto, segundo y milisegundo especificados para el calendario indicado.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond for the specified calendar.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto, segundo, milisegundo, y hora universal coordinada (UTC) u hora local especificados para el calendario indicado.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time for the specified calendar.

DateTime(Int64) DateTime(Int64) DateTime(Int64) DateTime(Int64)

Inicializa una nueva instancia de la estructura DateTime en un número de pasos especificado.Initializes a new instance of the DateTime structure to a specified number of ticks.

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

Parámetros

ticks
Int64 Int64 Int64 Int64

Fecha y hora expresadas como el número de intervalos de 100 nanosegundos transcurridos desde el 1 de enero, 0001 a las 00:00:00.000, en el calendario gregoriano.A date and time expressed in the number of 100-nanosecond intervals that have elapsed since January 1, 0001 at 00:00:00.000 in the Gregorian calendar.

Excepciones

Ejemplos

El ejemplo siguiente muestra uno de los DateTime constructores.The following example demonstrates one of the DateTime constructors.

// 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.
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
Imports System.Globalization
Imports Microsoft.VisualBasic

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 'Main
End Class 'Sample
'
'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.
'

Comentarios

La propiedad Kind se inicializa en Unspecified.The Kind property is initialized to Unspecified.

Para las aplicaciones en la portabilidad de datos de fecha y hora o un grado limitado de zona horaria es importante conocimiento, puede usar el correspondiente DateTimeOffset constructor.For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind)

Inicializa una nueva instancia de la estructura DateTime en el número de pasos y hora universal coordinada (UTC) u hora local especificados.Initializes a new instance of the DateTime structure to a specified number of ticks and to Coordinated Universal Time (UTC) or local time.

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)

Parámetros

ticks
Int64 Int64 Int64 Int64

Fecha y hora expresadas como el número de intervalos de 100 nanosegundos transcurridos desde el 1 de enero, 0001 a las 00:00:00.000, en el calendario gregoriano.A date and time expressed in the number of 100-nanosecond intervals that have elapsed since January 1, 0001 at 00:00:00.000 in the Gregorian calendar.

kind
DateTimeKind DateTimeKind DateTimeKind DateTimeKind

Uno de los valores de enumeración que indica si ticks especifica una hora local, una hora universal coordinada (UTC) o ninguna de ellas.One of the enumeration values that indicates whether ticks specifies a local time, Coordinated Universal Time (UTC), or neither.

Excepciones

kind no es uno de los valores de DateTimeKind.kind is not one of the DateTimeKind values.

Comentarios

Para las aplicaciones en la portabilidad de datos de fecha y hora o un grado limitado de zona horaria es importante conocimiento, puede usar el correspondiente DateTimeOffset constructor.For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes y día especificados.Initializes a new instance of the DateTime structure to the specified year, month, and day.

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)

Parámetros

year
Int32 Int32 Int32 Int32

Año (del 1 al 9999).The year (1 through 9999).

month
Int32 Int32 Int32 Int32

Mes (del 1 al 12).The month (1 through 12).

day
Int32 Int32 Int32 Int32

Día (del 1 al número de días de month).The day (1 through the number of days in month).

Excepciones

year es menor que 1 o mayor que 9999.year is less than 1 or greater than 9999.

O bien-or- month es menor que 1 o mayor que 12.month is less than 1 or greater than 12.

O bien-or- day es menor que 1 o mayor que el número de días de month.day is less than 1 or greater than the number of days in month.

Ejemplos

En el ejemplo siguiente se usa el DateTime(Int32, Int32, Int32) constructor para crear instancias de un DateTime valor.The following example uses the DateTime(Int32, Int32, Int32) constructor to instantiate a DateTime value. Este ejemplo también muestra que esta sobrecarga se crea un DateTime valor cuyo componente de hora es igual a medianoche (o 0:00).The example also illustrates that this overload creates a DateTime value whose time component equals midnight (or 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      
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      

Comentarios

Este constructor interpreta year, month, y day como un año, mes y día en el calendario gregoriano.This constructor interprets year, month, and day as a year, month, and day in the Gregorian calendar. Para crear instancias de un DateTime valor utilizando el año, mes y día en otro calendario, llamada la DateTime(Int32, Int32, Int32, Calendar) constructor.To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Calendar) constructor.

La hora del día para resultante DateTime es la medianoche (00: 00:00).The time of day for the resulting DateTime is midnight (00:00:00). La propiedad Kind se inicializa en DateTimeKind.Unspecified.The Kind property is initialized to DateTimeKind.Unspecified.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes y día especificados para el calendario determinado.Initializes a new instance of the DateTime structure to the specified year, month, and day for the specified calendar.

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

Parámetros

year
Int32 Int32 Int32 Int32

Año (del 1 al número de años de calendar).The year (1 through the number of years in calendar).

month
Int32 Int32 Int32 Int32

Mes (del 1 al número de meses de calendar).The month (1 through the number of months in calendar).

day
Int32 Int32 Int32 Int32

Día (del 1 al número de días de month).The day (1 through the number of days in month).

calendar
Calendar Calendar Calendar Calendar

Calendario que se usa para interpretar year, month y day.The calendar that is used to interpret year, month, and day.

Excepciones

year no está en el intervalo que admite calendar.year is not in the range supported by calendar.

O bien-or- month es menor que 1 o mayor que el número de meses en calendar.month is less than 1 or greater than the number of months in calendar.

O bien-or- day es menor que 1 o mayor que el número de días de month.day is less than 1 or greater than the number of days in month.

Ejemplos

El ejemplo siguiente se llama el DateTime(Int32, Int32, Int32, Calendar) constructor dos veces para crear una instancia de dos DateTime valores.The following example calls the DateTime(Int32, Int32, Int32, Calendar) constructor twice to instantiate two DateTime values. Crea una instancia de la primera llamada un DateTime valor mediante el uso de un PersianCalendar objeto.The first call instantiates a DateTime value by using a PersianCalendar object. Dado que el calendario persa no se pueden designar como calendario predeterminado para una referencia cultural, mostrar una fecha en el calendario persa requiere llamadas individuales para su PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, y PersianCalendar.GetYear métodos.Because the Persian calendar cannot be designated as the default calendar for a culture, displaying a date in the Persian calendar requires individual calls to its PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, and PersianCalendar.GetYear methods. Crea una instancia de la segunda llamada al constructor un DateTime valor mediante el uso de un HijriCalendar objeto.The second call to the constructor instantiates a DateTime value by using a HijriCalendar object. En el ejemplo se cambia la referencia cultural actual a árabe (Siria) y cambia el calendario predeterminado de la referencia cultural actual para el calendario Hijri.The example changes the current culture to Arabic (Syria) and changes the current culture's default calendar to the Hijri calendar. Dado que Hijri es el calendario predeterminado de la referencia cultural actual, el Console.WriteLine método lo usa para dar formato a la fecha.Because Hijri is the current culture's default calendar, the Console.WriteLine method uses it to format the date. Cuando se restaura la referencia cultural actual anterior (que es el inglés (Estados Unidos) en este caso), el Console.WriteLine método usa el calendario gregoriano de la referencia cultural actual de forma predeterminada para dar formato a la fecha.When the previous current culture (which is English (United States) in this case) is restored, the Console.WriteLine method uses the current culture's default Gregorian calendar to format the 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
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

Comentarios

La hora del día para resultante DateTime es la medianoche (00: 00:00).The time of day for the resulting DateTime is midnight (00:00:00). La propiedad Kind se inicializa en Unspecified.The Kind property is initialized to Unspecified.

Los valores permitidos para year, month, y day dependen calendar.The allowable values for year, month, and day depend on calendar. Se produce una excepción si la fecha y hora especificadas no pueden expresarse mediante calendar.An exception is thrown if the specified date and time cannot be expressed using calendar.

Importante

Las eras en los calendarios japoneses se basan en el reino del emperador y, por tanto, se espera que cambien.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. Por ejemplo, el 1 de mayo de 2019 marcaba el comienzo de la era Reiwa en JapaneseCalendar y JapaneseLunisolarCalendar.For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. Este cambio de era afecta a todas las aplicaciones que usan estos calendarios.Such a change of era affects all applications that use these calendars. Para obtener más información y determinar si sus aplicaciones están entre las afectadas, consulte Handling a new era in the Japanese calendar in .NET (Gestión de una nueva era del calendario japonés en .NET).See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. Para obtener más información sobre cómo probar aplicaciones en sistemas Windows para garantizar que estén preparadas para el cambio de era, consulte Prepare your application for the Japanese era change (Preparación de la aplicación para el cambio de era japonesa).See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. Consulte Trabajar con eras para ver las características de .NET que admiten calendarios con varias eras y procedimientos recomendados al trabajar con calendarios que admiten varias eras.See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

El System.Globalization espacio de nombres proporciona varios calendarios, incluidos GregorianCalendar y JulianCalendar.The System.Globalization namespace provides several calendars including GregorianCalendar and JulianCalendar.

Consulte también:

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto y segundo especificados.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second.

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)

Parámetros

year
Int32 Int32 Int32 Int32

Año (del 1 al 9999).The year (1 through 9999).

month
Int32 Int32 Int32 Int32

Mes (del 1 al 12).The month (1 through 12).

day
Int32 Int32 Int32 Int32

Día (del 1 al número de días de month).The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

Horas (de 0 a 23).The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

Minutos (de 0 a 59).The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

Segundos (de 0 a 59).The seconds (0 through 59).

Excepciones

year es menor que 1 o mayor que 9999.year is less than 1 or greater than 9999.

O bien-or- month es menor que 1 o mayor que 12.month is less than 1 or greater than 12.

O bien-or- day es menor que 1 o mayor que el número de días de month.day is less than 1 or greater than the number of days in month.

O bien-or- hour es menor que 0 o mayor que 23.hour is less than 0 or greater than 23.

O bien-or- minute es menor que 0 o mayor que 59.minute is less than 0 or greater than 59.

O bien-or- second es menor que 0 o mayor que 59.second is less than 0 or greater than 59.

Ejemplos

En el ejemplo siguiente se usa el DateTime constructor para crear instancias de un DateTime valor.The following example uses the DateTime constructor to instantiate a DateTime value.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 0);
Console.WriteLine(date1.ToString());
// The example displays the following output:
//      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

Comentarios

La propiedad Kind se inicializa en Unspecified.The Kind property is initialized to Unspecified.

Este constructor interpretayear, month, y day como un año, mes y día en el calendario gregoriano.This constructor interpretsyear, month, and day as a year, month, and day in the Gregorian calendar. Para crear instancias de un DateTime valor utilizando el año, mes y día en otro calendario, llamada la DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor.To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor.

Para las aplicaciones en la portabilidad de datos de fecha y hora o un grado limitado de zona horaria es importante conocimiento, puede usar el correspondiente DateTimeOffset constructor.For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto, segundo y hora universal coordinada (UTC) u hora local especificados.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and Coordinated Universal Time (UTC) or local time.

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)

Parámetros

year
Int32 Int32 Int32 Int32

Año (del 1 al 9999).The year (1 through 9999).

month
Int32 Int32 Int32 Int32

Mes (del 1 al 12).The month (1 through 12).

day
Int32 Int32 Int32 Int32

Día (del 1 al número de días de month).The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

Horas (de 0 a 23).The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

Minutos (de 0 a 59).The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

Segundos (de 0 a 59).The seconds (0 through 59).

kind
DateTimeKind DateTimeKind DateTimeKind DateTimeKind

Uno de los valores de enumeración que indica si year, month, day, hour, minute y second especifican una hora local, una hora universal coordinada (UTC) o ninguna de ellas.One of the enumeration values that indicates whether year, month, day, hour, minute and second specify a local time, Coordinated Universal Time (UTC), or neither.

Excepciones

year es menor que 1 o mayor que 9999.year is less than 1 or greater than 9999.

O bien-or- month es menor que 1 o mayor que 12.month is less than 1 or greater than 12.

O bien-or- day es menor que 1 o mayor que el número de días de month.day is less than 1 or greater than the number of days in month.

O bien-or- hour es menor que 0 o mayor que 23.hour is less than 0 or greater than 23.

O bien-or- minute es menor que 0 o mayor que 59.minute is less than 0 or greater than 59.

O bien-or- second es menor que 0 o mayor que 59.second is less than 0 or greater than 59.

kind no es uno de los valores de DateTimeKind.kind is not one of the DateTimeKind values.

Ejemplos

En el ejemplo siguiente se usa el DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) constructor para crear instancias de un DateTime valor.The following example uses the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) constructor to instantiate a DateTime value.

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:
//      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

Comentarios

Este constructor interpretayear, month, y day como un año, mes y día en el calendario gregoriano.This constructor interpretsyear, month, and day as a year, month, and day in the Gregorian calendar. Para crear instancias de un DateTime valor utilizando el año, mes y día en otro calendario, llamada la DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor.To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor.

Para las aplicaciones en la portabilidad de datos de fecha y hora o un grado limitado de zona horaria es importante conocimiento, puede usar el correspondiente DateTimeOffset constructor.For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto y segundo especificados para el calendario indicado.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second for the specified calendar.

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

Parámetros

year
Int32 Int32 Int32 Int32

Año (del 1 al número de años de calendar).The year (1 through the number of years in calendar).

month
Int32 Int32 Int32 Int32

Mes (del 1 al número de meses de calendar).The month (1 through the number of months in calendar).

day
Int32 Int32 Int32 Int32

Día (del 1 al número de días de month).The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

Horas (de 0 a 23).The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

Minutos (de 0 a 59).The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

Segundos (de 0 a 59).The seconds (0 through 59).

calendar
Calendar Calendar Calendar Calendar

Calendario que se usa para interpretar year, month y day.The calendar that is used to interpret year, month, and day.

Excepciones

year no está en el intervalo que admite calendar.year is not in the range supported by calendar.

O bien-or- month es menor que 1 o mayor que el número de meses en calendar.month is less than 1 or greater than the number of months in calendar.

O bien-or- day es menor que 1 o mayor que el número de días de month.day is less than 1 or greater than the number of days in month.

O bien-or- hour es menor que 0 o mayor que 23hour is less than 0 or greater than 23 O bien-or- minute es menor que 0 o mayor que 59.minute is less than 0 or greater than 59.

O bien-or- second es menor que 0 o mayor que 59.second is less than 0 or greater than 59.

Ejemplos

El ejemplo siguiente se llama el DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor dos veces para crear una instancia de dos DateTime valores.The following example calls the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor twice to instantiate two DateTime values. Crea una instancia de la primera llamada un DateTime valor mediante el uso de un PersianCalendar objeto.The first call instantiates a DateTime value by using a PersianCalendar object. Dado que el calendario persa no se pueden designar como calendario predeterminado para una referencia cultural, mostrar una fecha en el calendario persa requiere llamadas individuales para su PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, y PersianCalendar.GetYear métodos.Because the Persian calendar cannot be designated as the default calendar for a culture, displaying a date in the Persian calendar requires individual calls to its PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, and PersianCalendar.GetYear methods. Crea una instancia de la segunda llamada al constructor un DateTime valor mediante el uso de un HijriCalendar objeto.The second call to the constructor instantiates a DateTime value by using a HijriCalendar object. En el ejemplo se cambia la referencia cultural actual a árabe (Siria) y cambia el calendario predeterminado de la referencia cultural actual para el calendario Hijri.The example changes the current culture to Arabic (Syria) and changes the current culture's default calendar to the Hijri calendar. Dado que Hijri es el calendario predeterminado de la referencia cultural actual, el Console.WriteLine método lo usa para dar formato a la fecha.Because Hijri is the current culture's default calendar, the Console.WriteLine method uses it to format the date. Cuando se restaura la referencia cultural actual anterior (que es el inglés (Estados Unidos) en este caso), el Console.WriteLine método usa el calendario gregoriano de la referencia cultural actual de forma predeterminada para dar formato a la fecha.When the previous current culture (which is English (United States) in this case) is restored, the Console.WriteLine method uses the current culture's default Gregorian calendar to format the 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
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

Comentarios

La propiedad Kind se inicializa en Unspecified.The Kind property is initialized to Unspecified.

Los valores permitidos para year, month, y day dependen calendar.The allowable values for year, month, and day depend on calendar. Se produce una excepción si la fecha y hora especificadas no pueden expresarse mediante calendar.An exception is thrown if the specified date and time cannot be expressed using calendar.

Importante

Las eras en los calendarios japoneses se basan en el reino del emperador y, por tanto, se espera que cambien.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. Por ejemplo, el 1 de mayo de 2019 marcaba el comienzo de la era Reiwa en JapaneseCalendar y JapaneseLunisolarCalendar.For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. Este cambio de era afecta a todas las aplicaciones que usan estos calendarios.Such a change of era affects all applications that use these calendars. Para obtener más información y determinar si sus aplicaciones están entre las afectadas, consulte Handling a new era in the Japanese calendar in .NET (Gestión de una nueva era del calendario japonés en .NET).See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. Para obtener más información sobre cómo probar aplicaciones en sistemas Windows para garantizar que estén preparadas para el cambio de era, consulte Prepare your application for the Japanese era change (Preparación de la aplicación para el cambio de era japonesa).See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. Consulte Trabajar con eras para ver las características de .NET que admiten calendarios con varias eras y procedimientos recomendados al trabajar con calendarios que admiten varias eras.See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

El System.Globalization espacio de nombres proporciona varios calendarios, incluidos GregorianCalendar y JulianCalendar.The System.Globalization namespace provides several calendars including GregorianCalendar and JulianCalendar.

Consulte también:

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto, segundo y milisegundo especificados.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond.

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)

Parámetros

year
Int32 Int32 Int32 Int32

Año (del 1 al 9999).The year (1 through 9999).

month
Int32 Int32 Int32 Int32

Mes (del 1 al 12).The month (1 through 12).

day
Int32 Int32 Int32 Int32

Día (del 1 al número de días de month).The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

Horas (de 0 a 23).The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

Minutos (de 0 a 59).The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

Segundos (de 0 a 59).The seconds (0 through 59).

millisecond
Int32 Int32 Int32 Int32

Milisegundos (de 0 a 999).The milliseconds (0 through 999).

Excepciones

year es menor que 1 o mayor que 9999.year is less than 1 or greater than 9999.

O bien-or- month es menor que 1 o mayor que 12.month is less than 1 or greater than 12.

O bien-or- day es menor que 1 o mayor que el número de días de month.day is less than 1 or greater than the number of days in month.

O bien-or- hour es menor que 0 o mayor que 23.hour is less than 0 or greater than 23.

O bien-or- minute es menor que 0 o mayor que 59.minute is less than 0 or greater than 59.

O bien-or- second es menor que 0 o mayor que 59.second is less than 0 or greater than 59.

O bien-or- millisecond es menor que 0 o mayor que 999.millisecond is less than 0 or greater than 999.

Ejemplos

En el ejemplo siguiente se usa el DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) constructor para crear instancias de un DateTime valor.The following example uses the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) constructor to instantiate a DateTime value.

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:
//      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

Comentarios

Este constructor interpretayear, month, y day como un año, mes y día en el calendario gregoriano.This constructor interpretsyear, month, and day as a year, month, and day in the Gregorian calendar. Para crear instancias de un DateTime valor utilizando el año, mes y día en otro calendario, llamada la DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor.To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor.

La propiedad Kind se inicializa en Unspecified.The Kind property is initialized to Unspecified.

Para las aplicaciones en la portabilidad de datos de fecha y hora o un grado limitado de zona horaria es importante conocimiento, puede usar el correspondiente DateTimeOffset constructor.For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

Consulte también:

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto, segundo, milisegundo y hora universal coordinada (UTC) u hora local especificados.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time.

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)

Parámetros

year
Int32 Int32 Int32 Int32

Año (del 1 al 9999).The year (1 through 9999).

month
Int32 Int32 Int32 Int32

Mes (del 1 al 12).The month (1 through 12).

day
Int32 Int32 Int32 Int32

Día (del 1 al número de días de month).The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

Horas (de 0 a 23).The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

Minutos (de 0 a 59).The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

Segundos (de 0 a 59).The seconds (0 through 59).

millisecond
Int32 Int32 Int32 Int32

Milisegundos (de 0 a 999).The milliseconds (0 through 999).

kind
DateTimeKind DateTimeKind DateTimeKind DateTimeKind

Uno de los valores de enumeración que indica si year, month, day, hour, minute, second y millisecond especifican una hora local, una hora universal coordinada (UTC) o ninguna de ellas.One of the enumeration values that indicates whether year, month, day, hour, minute, second, and millisecond specify a local time, Coordinated Universal Time (UTC), or neither.

Excepciones

year es menor que 1 o mayor que 9999.year is less than 1 or greater than 9999.

O bien-or- month es menor que 1 o mayor que 12.month is less than 1 or greater than 12.

O bien-or- day es menor que 1 o mayor que el número de días de month.day is less than 1 or greater than the number of days in month.

O bien-or- hour es menor que 0 o mayor que 23.hour is less than 0 or greater than 23.

O bien-or- minute es menor que 0 o mayor que 59.minute is less than 0 or greater than 59.

O bien-or- second es menor que 0 o mayor que 59.second is less than 0 or greater than 59.

O bien-or- millisecond es menor que 0 o mayor que 999.millisecond is less than 0 or greater than 999.

kind no es uno de los valores de DateTimeKind.kind is not one of the DateTimeKind values.

Ejemplos

En el ejemplo siguiente se usa el DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) constructor para crear instancias de un DateTime valor.The following example uses the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) constructor to instantiate a DateTime value.

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:
//      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

Comentarios

Este constructor interpretayear, month, y day como un año, mes y día en el calendario gregoriano.This constructor interpretsyear, month, and day as a year, month, and day in the Gregorian calendar. Para crear instancias de un DateTime valor utilizando el año, mes y día en otro calendario, llamada la DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor.To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor.

Para las aplicaciones en la portabilidad de datos de fecha y hora o un grado limitado de zona horaria es importante conocimiento, puede usar el correspondiente DateTimeOffset constructor.For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto, segundo y milisegundo especificados para el calendario indicado.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond for the specified calendar.

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

Parámetros

year
Int32 Int32 Int32 Int32

Año (del 1 al número de años de calendar).The year (1 through the number of years in calendar).

month
Int32 Int32 Int32 Int32

Mes (del 1 al número de meses de calendar).The month (1 through the number of months in calendar).

day
Int32 Int32 Int32 Int32

Día (del 1 al número de días de month).The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

Horas (de 0 a 23).The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

Minutos (de 0 a 59).The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

Segundos (de 0 a 59).The seconds (0 through 59).

millisecond
Int32 Int32 Int32 Int32

Milisegundos (de 0 a 999).The milliseconds (0 through 999).

calendar
Calendar Calendar Calendar Calendar

Calendario que se usa para interpretar year, month y day.The calendar that is used to interpret year, month, and day.

Excepciones

year no está en el intervalo que admite calendar.year is not in the range supported by calendar.

O bien-or- month es menor que 1 o mayor que el número de meses en calendar.month is less than 1 or greater than the number of months in calendar.

O bien-or- day es menor que 1 o mayor que el número de días de month.day is less than 1 or greater than the number of days in month.

O bien-or- hour es menor que 0 o mayor que 23.hour is less than 0 or greater than 23.

O bien-or- minute es menor que 0 o mayor que 59.minute is less than 0 or greater than 59.

O bien-or- second es menor que 0 o mayor que 59.second is less than 0 or greater than 59.

O bien-or- millisecond es menor que 0 o mayor que 999.millisecond is less than 0 or greater than 999.

Ejemplos

El ejemplo siguiente se llama el DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor dos veces para crear una instancia de dos DateTime valores.The following example calls the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor twice to instantiate two DateTime values. Crea una instancia de la primera llamada un DateTime valor mediante el uso de un PersianCalendar objeto.The first call instantiates a DateTime value by using a PersianCalendar object. Dado que el calendario persa no se pueden designar como calendario predeterminado para una referencia cultural, mostrar una fecha en el calendario persa requiere llamadas individuales para su PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, y PersianCalendar.GetYear métodos.Because the Persian calendar cannot be designated as the default calendar for a culture, displaying a date in the Persian calendar requires individual calls to its PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, and PersianCalendar.GetYear methods. Crea una instancia de la segunda llamada al constructor un DateTime valor mediante el uso de un HijriCalendar objeto.The second call to the constructor instantiates a DateTime value by using a HijriCalendar object. En el ejemplo se cambia la referencia cultural actual a árabe (Siria) y cambia el calendario predeterminado de la referencia cultural actual para el calendario Hijri.The example changes the current culture to Arabic (Syria) and changes the current culture's default calendar to the Hijri calendar. Dado que Hijri es el calendario predeterminado de la referencia cultural actual, el Console.WriteLine método lo usa para dar formato a la fecha.Because Hijri is the current culture's default calendar, the Console.WriteLine method uses it to format the date. Cuando se restaura la referencia cultural actual anterior (que es el inglés (Estados Unidos) en este caso), el Console.WriteLine método usa el calendario gregoriano de la referencia cultural actual de forma predeterminada para dar formato a la fecha.When the previous current culture (which is English (United States) in this case) is restored, the Console.WriteLine method uses the current culture's default Gregorian calendar to format the 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
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

Comentarios

La propiedad Kind se inicializa en Unspecified.The Kind property is initialized to Unspecified.

Los valores permitidos para year, month, y day dependen calendar.The allowable values for year, month, and day depend on calendar. Se produce una excepción si la fecha y hora especificadas no pueden expresarse mediante calendar.An exception is thrown if the specified date and time cannot be expressed using calendar.

Para las aplicaciones en la portabilidad de datos de fecha y hora o un grado limitado de zona horaria es importante conocimiento, puede usar el correspondiente DateTimeOffset constructor.For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

Importante

Las eras en los calendarios japoneses se basan en el reino del emperador y, por tanto, se espera que cambien.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. Por ejemplo, el 1 de mayo de 2019 marcaba el comienzo de la era Reiwa en JapaneseCalendar y JapaneseLunisolarCalendar.For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. Este cambio de era afecta a todas las aplicaciones que usan estos calendarios.Such a change of era affects all applications that use these calendars. Para obtener más información y determinar si sus aplicaciones están entre las afectadas, consulte Handling a new era in the Japanese calendar in .NET (Gestión de una nueva era del calendario japonés en .NET).See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. Para obtener más información sobre cómo probar aplicaciones en sistemas Windows para garantizar que estén preparadas para el cambio de era, consulte Prepare your application for the Japanese era change (Preparación de la aplicación para el cambio de era japonesa).See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. Consulte Trabajar con eras para ver las características de .NET que admiten calendarios con varias eras y procedimientos recomendados al trabajar con calendarios que admiten varias eras.See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

El System.Globalization espacio de nombres proporciona varios calendarios, incluidos GregorianCalendar y JulianCalendar.The System.Globalization namespace provides several calendars including GregorianCalendar and JulianCalendar.

Consulte también:

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

Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto, segundo, milisegundo, y hora universal coordinada (UTC) u hora local especificados para el calendario indicado.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time for the specified calendar.

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

Parámetros

year
Int32 Int32 Int32 Int32

Año (del 1 al número de años de calendar).The year (1 through the number of years in calendar).

month
Int32 Int32 Int32 Int32

Mes (del 1 al número de meses de calendar).The month (1 through the number of months in calendar).

day
Int32 Int32 Int32 Int32

Día (del 1 al número de días de month).The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

Horas (de 0 a 23).The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

Minutos (de 0 a 59).The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

Segundos (de 0 a 59).The seconds (0 through 59).

millisecond
Int32 Int32 Int32 Int32

Milisegundos (de 0 a 999).The milliseconds (0 through 999).

calendar
Calendar Calendar Calendar Calendar

Calendario que se usa para interpretar year, month y day.The calendar that is used to interpret year, month, and day.

kind
DateTimeKind DateTimeKind DateTimeKind DateTimeKind

Uno de los valores de enumeración que indica si year, month, day, hour, minute, second y millisecond especifican una hora local, una hora universal coordinada (UTC) o ninguna de ellas.One of the enumeration values that indicates whether year, month, day, hour, minute, second, and millisecond specify a local time, Coordinated Universal Time (UTC), or neither.

Excepciones

year no está en el intervalo que admite calendar.year is not in the range supported by calendar.

O bien-or- month es menor que 1 o mayor que el número de meses en calendar.month is less than 1 or greater than the number of months in calendar.

O bien-or- day es menor que 1 o mayor que el número de días de month.day is less than 1 or greater than the number of days in month.

O bien-or- hour es menor que 0 o mayor que 23.hour is less than 0 or greater than 23.

O bien-or- minute es menor que 0 o mayor que 59.minute is less than 0 or greater than 59.

O bien-or- second es menor que 0 o mayor que 59.second is less than 0 or greater than 59.

O bien-or- millisecond es menor que 0 o mayor que 999.millisecond is less than 0 or greater than 999.

kind no es uno de los valores de DateTimeKind.kind is not one of the DateTimeKind values.

Ejemplos

El ejemplo siguiente se llama el DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor dos veces para crear una instancia de dos DateTime valores.The following example calls the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor twice to instantiate two DateTime values. Crea una instancia de la primera llamada un DateTime valor mediante el uso de un PersianCalendar objeto.The first call instantiates a DateTime value by using a PersianCalendar object. Dado que el calendario persa no se pueden designar como calendario predeterminado para una referencia cultural, mostrar una fecha en el calendario persa requiere llamadas individuales para su PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, y PersianCalendar.GetYear métodos.Because the Persian calendar cannot be designated as the default calendar for a culture, displaying a date in the Persian calendar requires individual calls to its PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, and PersianCalendar.GetYear methods. Crea una instancia de la segunda llamada al constructor un DateTime valor mediante el uso de un HijriCalendar objeto.The second call to the constructor instantiates a DateTime value by using a HijriCalendar object. En el ejemplo se cambia la referencia cultural actual a árabe (Siria) y cambia el calendario predeterminado de la referencia cultural actual para el calendario Hijri.The example changes the current culture to Arabic (Syria) and changes the current culture's default calendar to the Hijri calendar. Dado que Hijri es el calendario predeterminado de la referencia cultural actual, el Console.WriteLine método lo usa para dar formato a la fecha.Because Hijri is the current culture's default calendar, the Console.WriteLine method uses it to format the date. Cuando se restaura la referencia cultural actual anterior (que es el inglés (Estados Unidos) en este caso), el Console.WriteLine método usa el calendario gregoriano de la referencia cultural actual de forma predeterminada para dar formato a la fecha.When the previous current culture (which is English (United States) in this case) is restored, the Console.WriteLine method uses the current culture's default Gregorian calendar to format the 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
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

Comentarios

Los valores permitidos para year, month, y day parámetros dependen del calendar parámetro.The allowable values for year, month, and day parameters depend on the calendar parameter. Se produce una excepción si la fecha y hora especificadas no pueden expresarse mediante calendar.An exception is thrown if the specified date and time cannot be expressed using calendar.

Para las aplicaciones en la portabilidad de datos de fecha y hora o un grado limitado de zona horaria es importante conocimiento, puede usar el correspondiente DateTimeOffset constructor.For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

Importante

Las eras en los calendarios japoneses se basan en el reino del emperador y, por tanto, se espera que cambien.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. Por ejemplo, el 1 de mayo de 2019 marcaba el comienzo de la era Reiwa en JapaneseCalendar y JapaneseLunisolarCalendar.For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. Este cambio de era afecta a todas las aplicaciones que usan estos calendarios.Such a change of era affects all applications that use these calendars. Para obtener más información y determinar si sus aplicaciones están entre las afectadas, consulte Handling a new era in the Japanese calendar in .NET (Gestión de una nueva era del calendario japonés en .NET).See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. Para obtener más información sobre cómo probar aplicaciones en sistemas Windows para garantizar que estén preparadas para el cambio de era, consulte Prepare your application for the Japanese era change (Preparación de la aplicación para el cambio de era japonesa).See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. Consulte Trabajar con eras para ver las características de .NET que admiten calendarios con varias eras y procedimientos recomendados al trabajar con calendarios que admiten varias eras.See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

El System.Globalization espacio de nombres proporciona varios calendarios, incluidos GregorianCalendar y JulianCalendar.The System.Globalization namespace provides several calendars including GregorianCalendar and JulianCalendar.

Se aplica a