DateTime Constructores
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inicializa una nueva instancia de la estructura DateTime.
Sobrecargas
DateTime(Int64) |
Inicializa una nueva instancia de la estructura DateTime en un número de pasos especificado. |
DateTime(Int32, 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, milisegundo, y hora universal coordinada (UTC) u hora local especificados para el calendario indicado. |
DateTime(Int32, 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 para el calendario indicado. |
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. |
DateTime(Int32, 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, milisegundo, y hora universal coordinada (UTC) u hora local especificados para el calendario indicado. |
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. |
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. |
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. |
DateTime(Int32, 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. |
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. |
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. |
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. |
DateTime(Int32, Int32, Int32) |
Inicializa una nueva instancia de la estructura DateTime en el año, mes y día especificados. |
DateTime(DateOnly, TimeOnly, DateTimeKind) |
Inicializa una nueva instancia de la DateTime estructura en el especificado DateOnly y TimeOnly respetando el especificado 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. |
DateTime(DateOnly, TimeOnly) |
Inicializa una nueva instancia de la DateTime estructura en los valores y TimeOnlyespecificadosDateOnly. La nueva instancia tendrá el Unspecified tipo . |
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. |
DateTime(Int64)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
Inicializa una nueva instancia de la estructura DateTime en un número de pasos especificado.
public:
DateTime(long ticks);
public DateTime (long ticks);
new DateTime : int64 -> DateTime
Public Sub New (ticks As Long)
Parámetros
- ticks
- 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.
Excepciones
ticks
es menor que DateTime.MinValue o mayor que DateTime.MaxValue.
Ejemplos
En el ejemplo siguiente se muestra uno de los DateTime constructores.
// 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.
'
Comentarios
La propiedad Kind se inicializa en Unspecified.
En el caso de las aplicaciones en las que la portabilidad de los datos de fecha y hora o un grado limitado de reconocimiento de zona horaria es importante, puede usar el constructor correspondiente DateTimeOffset .
Se aplica a
DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
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.
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)
Parámetros
- year
- Int32
Año (del 1 al número de años de calendar
).
- month
- Int32
Mes (del 1 al número de meses de calendar
).
- day
- Int32
Día (del 1 al número de días de month
).
- hour
- Int32
Horas (de 0 a 23).
- minute
- Int32
Minutos (de 0 a 59).
- second
- Int32
Segundos (de 0 a 59).
- millisecond
- Int32
Milisegundos (de 0 a 999).
- microsecond
- Int32
Los microsegundos (de 0 a 999).
- calendar
- Calendar
Calendario que se usa para interpretar year
, month
y day
.
Excepciones
calendar
es null
.
year
no está en el intervalo que admite calendar
.
o bien
month
es menor que 1 o mayor que el número de meses en calendar
.
o bien
day
es menor que 1 o mayor que el número de días en month
.
o bien
hour
es menor que 0 o mayor que 23.
o bien
minute
es menor que 0 o mayor que 59.
o bien
second
es menor que 0 o mayor que 59.
o bien
millisecond
es menor que 0 o mayor que 999.
o bien
microsecond
es menor que 0 o mayor que 999.
Comentarios
Los valores permitidos para year
los parámetros , month
y day
dependen del calendar
parámetro . Se produce una excepción si la fecha y hora especificadas no se pueden expresar mediante calendar
.
En el caso de las aplicaciones en las que la portabilidad de los datos de fecha y hora o un grado limitado de reconocimiento de zona horaria es importante, puede usar el constructor correspondiente DateTimeOffset .
Se aplica a
DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
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.
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)
Parámetros
- year
- Int32
Año (del 1 al 9999).
- month
- Int32
Mes (del 1 al 12).
- day
- Int32
Día (del 1 al número de días de month
).
- hour
- Int32
Horas (de 0 a 23).
- minute
- Int32
Minutos (de 0 a 59).
- second
- Int32
Segundos (de 0 a 59).
- millisecond
- Int32
Milisegundos (de 0 a 999).
- microsecond
- Int32
Los microsegundos (de 0 a 999).
- kind
- 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.
Excepciones
year
es menor que 1 o mayor que 9999.
o bien
month
es menor que 1 o mayor que 12.
o bien
day
es menor que 1 o mayor que el número de días en month
.
o bien
hour
es menor que 0 o mayor que 23.
o bien
minute
es menor que 0 o mayor que 59.
o bien
second
es menor que 0 o mayor que 59.
o bien
millisecond
es menor que 0 o mayor que 999.
o bien
microsecond
es menor que 0 o mayor que 999.
kind
no es uno de los valores de DateTimeKind.
Comentarios
Este constructor interpreta year
, month
y day
como un año, mes y día en el calendario gregoriano. Para crear una instancia de un DateTime valor mediante el año, mes y día en otro calendario, llame al DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor .
En el caso de las aplicaciones en las que la portabilidad de los datos de fecha y hora o un grado limitado de reconocimiento de zona horaria es importante, puede usar el constructor correspondiente DateTimeOffset .
Se aplica a
DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
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.
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)
Parámetros
- year
- Int32
Año (del 1 al número de años de calendar
).
- month
- Int32
Mes (del 1 al número de meses de calendar
).
- day
- Int32
Día (del 1 al número de días de month
).
- hour
- Int32
Horas (de 0 a 23).
- minute
- Int32
Minutos (de 0 a 59).
- second
- Int32
Segundos (de 0 a 59).
- millisecond
- Int32
Milisegundos (de 0 a 999).
- calendar
- Calendar
Calendario que se usa para interpretar year
, month
y day
.
- kind
- 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.
Excepciones
calendar
es null
.
year
no está en el intervalo que admite calendar
.
o bien
month
es menor que 1 o mayor que el número de meses en calendar
.
o bien
day
es menor que 1 o mayor que el número de días en month
.
o bien
hour
es menor que 0 o mayor que 23.
o bien
minute
es menor que 0 o mayor que 59.
o bien
second
es menor que 0 o mayor que 59.
o bien
millisecond
es menor que 0 o mayor que 999.
kind
no es uno de los valores de DateTimeKind.
Ejemplos
En el ejemplo siguiente se llama al DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor dos veces para crear una instancia de dos DateTime valores. La primera llamada crea una instancia de un DateTime valor mediante un PersianCalendar objeto . Dado que el calendario persa no se puede designar como calendario predeterminado para una referencia cultural, mostrar una fecha en el calendario persa requiere llamadas individuales a sus PersianCalendar.GetMonthmétodos , PersianCalendar.GetDayOfMonthy PersianCalendar.GetYear . La segunda llamada al constructor crea una instancia de un DateTime valor mediante un HijriCalendar objeto . En el ejemplo se cambia la referencia cultural actual a Árabe (Siria) y se cambia el calendario predeterminado de la referencia cultural actual al calendario Hijri. 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. Cuando se restaura la referencia cultural actual anterior (que es inglés (Estados Unidos) en este caso, el Console.WriteLine método usa el calendario gregoriano predeterminado de la referencia cultural actual para dar formato a la fecha.
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
Comentarios
Los valores permitidos para year
los parámetros , month
y day
dependen del calendar
parámetro . Se produce una excepción si la fecha y hora especificadas no se pueden expresar mediante calendar
.
En el caso de las aplicaciones en las que la portabilidad de los datos de fecha y hora o un grado limitado de reconocimiento de zona horaria es importante, puede usar el constructor correspondiente DateTimeOffset .
Importante
Las eras en los calendarios japoneses se basan en el reino del emperador y, por tanto, se espera que cambien. Por ejemplo, el 1 de mayo de 2019 marcaba el comienzo de la era Reiwa en JapaneseCalendar y JapaneseLunisolarCalendar. Este cambio de era afecta a todas las aplicaciones que usan estos calendarios. Para obtener más información y determinar si las aplicaciones se ven afectadas, consulte Control de una nueva era en el calendario japonés en .NET. Para obtener información sobre cómo probar las aplicaciones en sistemas Windows para garantizar su preparación para el cambio de era, consulte Preparación de la aplicación para el cambio en la era japonesa. Para ver las características de .NET que admiten calendarios con varias eras y para conocer los procedimientos recomendados al trabajar con calendarios que admiten varias eras, consulte Trabajar con eras.
El System.Globalization espacio de nombres proporciona varios calendarios, incluidos GregorianCalendar y JulianCalendar.
Se aplica a
DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
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.
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)
Parámetros
- year
- Int32
Año (del 1 al 9999).
- month
- Int32
Mes (del 1 al 12).
- day
- Int32
Día (del 1 al número de días de month
).
- hour
- Int32
Horas (de 0 a 23).
- minute
- Int32
Minutos (de 0 a 59).
- second
- Int32
Segundos (de 0 a 59).
- millisecond
- Int32
Milisegundos (de 0 a 999).
- microsecond
- Int32
Los microsegundos (de 0 a 999).
Excepciones
year
es menor que 1 o mayor que 9999.
o bien
month
es menor que 1 o mayor que 12.
o bien
day
es menor que 1 o mayor que el número de días en month
.
o bien
hour
es menor que 0 o mayor que 23.
o bien
minute
es menor que 0 o mayor que 59.
o bien
second
es menor que 0 o mayor que 59.
o bien
millisecond
es menor que 0 o mayor que 999.
o bien
microsecond
es menor que 0 o mayor que 999.
Comentarios
Este constructor interpreta year
, month
y day
como un año, mes y día en el calendario gregoriano. Para crear una instancia de un DateTime valor mediante el año, mes y día en otro calendario, llame al DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor .
La propiedad Kind se inicializa en Unspecified.
En el caso de las aplicaciones en las que la portabilidad de los datos de fecha y hora o un grado limitado de reconocimiento de zona horaria es importante, puede usar el constructor correspondiente DateTimeOffset .
Se aplica a
DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
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.
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)
Parámetros
- year
- Int32
Año (del 1 al número de años de calendar
).
- month
- Int32
Mes (del 1 al número de meses de calendar
).
- day
- Int32
Día (del 1 al número de días de month
).
- hour
- Int32
Horas (de 0 a 23).
- minute
- Int32
Minutos (de 0 a 59).
- second
- Int32
Segundos (de 0 a 59).
- millisecond
- Int32
Milisegundos (de 0 a 999).
- calendar
- Calendar
Calendario que se usa para interpretar year
, month
y day
.
Excepciones
calendar
es null
.
year
no está en el intervalo que admite calendar
.
o bien
month
es menor que 1 o mayor que el número de meses en calendar
.
o bien
day
es menor que 1 o mayor que el número de días en month
.
o bien
hour
es menor que 0 o mayor que 23.
o bien
minute
es menor que 0 o mayor que 59.
o bien
second
es menor que 0 o mayor que 59.
o bien
millisecond
es menor que 0 o mayor que 999.
Ejemplos
En el ejemplo siguiente se llama al DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor dos veces para crear una instancia de dos DateTime valores. La primera llamada crea una instancia de un DateTime valor mediante un PersianCalendar objeto . Dado que el calendario persa no se puede designar como calendario predeterminado para una referencia cultural, mostrar una fecha en el calendario persa requiere llamadas individuales a sus PersianCalendar.GetMonthmétodos , PersianCalendar.GetDayOfMonthy PersianCalendar.GetYear . La segunda llamada al constructor crea una instancia de un DateTime valor mediante un HijriCalendar objeto . En el ejemplo se cambia la referencia cultural actual a Árabe (Siria) y se cambia el calendario predeterminado de la referencia cultural actual al calendario Hijri. 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. Cuando se restaura la referencia cultural actual anterior (que es inglés (Estados Unidos) en este caso, el Console.WriteLine método usa el calendario gregoriano predeterminado de la referencia cultural actual para dar formato a la fecha.
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
Comentarios
La propiedad Kind se inicializa en Unspecified.
Los valores permitidos para year
, month
y day
dependen de calendar
. Se produce una excepción si la fecha y hora especificadas no se pueden expresar mediante calendar
.
En el caso de las aplicaciones en las que es importante la portabilidad de los datos de fecha y hora o un grado limitado de reconocimiento de zona horaria, puede usar el constructor correspondiente DateTimeOffset .
Importante
Las eras en los calendarios japoneses se basan en el reino del emperador y, por tanto, se espera que cambien. Por ejemplo, el 1 de mayo de 2019 marcaba el comienzo de la era Reiwa en JapaneseCalendar y JapaneseLunisolarCalendar. Este cambio de era afecta a todas las aplicaciones que usan estos calendarios. Para obtener más información y determinar si las aplicaciones se ven afectadas, consulte Control de una nueva era en el calendario japonés en .NET. Para obtener información sobre cómo probar las aplicaciones en sistemas Windows para garantizar su preparación para el cambio de era, consulte Preparación de la aplicación para el cambio en la era japonesa. Para conocer las características de .NET que admiten calendarios con varias eras y procedimientos recomendados al trabajar con calendarios que admiten varias eras, consulte Trabajar con eras.
El System.Globalization espacio de nombres proporciona varios calendarios, incluidos GregorianCalendar y JulianCalendar.
Consulte también
Se aplica a
DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
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.
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
Año (del 1 al 9999).
- month
- Int32
Mes (del 1 al 12).
- day
- Int32
Día (del 1 al número de días de month
).
- hour
- Int32
Horas (de 0 a 23).
- minute
- Int32
Minutos (de 0 a 59).
- second
- Int32
Segundos (de 0 a 59).
- millisecond
- Int32
Milisegundos (de 0 a 999).
- kind
- 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.
Excepciones
year
es menor que 1 o mayor que 9999.
o bien
month
es menor que 1 o mayor que 12.
o bien
day
es menor que 1 o mayor que el número de días en month
.
o bien
hour
es menor que 0 o mayor que 23.
o bien
minute
es menor que 0 o mayor que 59.
o bien
second
es menor que 0 o mayor que 59.
o bien
millisecond
es menor que 0 o mayor que 999.
kind
no es uno de los valores de DateTimeKind.
Ejemplos
En el ejemplo siguiente se usa el DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) constructor para crear una instancia de un DateTime valor.
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
Comentarios
Este constructor interpretayear
, month
y day
como año, mes y día en el calendario gregoriano. Para crear una instancia de un DateTime valor mediante el año, mes y día en otro calendario, llame al DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor .
En el caso de las aplicaciones en las que es importante la portabilidad de los datos de fecha y hora o un grado limitado de reconocimiento de zona horaria, puede usar el constructor correspondiente DateTimeOffset .
Se aplica a
DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto, segundo y milisegundo especificados.
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
Año (del 1 al 9999).
- month
- Int32
Mes (del 1 al 12).
- day
- Int32
Día (del 1 al número de días de month
).
- hour
- Int32
Horas (de 0 a 23).
- minute
- Int32
Minutos (de 0 a 59).
- second
- Int32
Segundos (de 0 a 59).
- millisecond
- Int32
Milisegundos (de 0 a 999).
Excepciones
year
es menor que 1 o mayor que 9999.
o bien
month
es menor que 1 o mayor que 12.
o bien
day
es menor que 1 o mayor que el número de días en month
.
o bien
hour
es menor que 0 o mayor que 23.
o bien
minute
es menor que 0 o mayor que 59.
o bien
second
es menor que 0 o mayor que 59.
o bien
millisecond
es menor que 0 o mayor que 999.
Ejemplos
En el ejemplo siguiente se usa el DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) constructor para crear una instancia de un DateTime valor.
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
Comentarios
Este constructor interpretayear
, month
y day
como año, mes y día en el calendario gregoriano. Para crear una instancia de un DateTime valor mediante el año, mes y día en otro calendario, llame al DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor .
La propiedad Kind se inicializa en Unspecified.
En el caso de las aplicaciones en las que es importante la portabilidad de los datos de fecha y hora o un grado limitado de reconocimiento de zona horaria, puede usar el constructor correspondiente DateTimeOffset .
Consulte también
Se aplica a
DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
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.
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)
Parámetros
- year
- Int32
Año (del 1 al número de años de calendar
).
- month
- Int32
Mes (del 1 al número de meses de calendar
).
- day
- Int32
Día (del 1 al número de días de month
).
- hour
- Int32
Horas (de 0 a 23).
- minute
- Int32
Minutos (de 0 a 59).
- second
- Int32
Segundos (de 0 a 59).
- millisecond
- Int32
Milisegundos (de 0 a 999).
- microsecond
- Int32
Microsegundos (de 0 a 999).
- calendar
- Calendar
Calendario que se usa para interpretar year
, month
y day
.
- kind
- 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.
Excepciones
calendar
es null
.
year
no está en el intervalo que admite calendar
.
o bien
month
es menor que 1 o mayor que el número de meses en calendar
.
o bien
day
es menor que 1 o mayor que el número de días en month
.
o bien
hour
es menor que 0 o mayor que 23.
o bien
minute
es menor que 0 o mayor que 59.
o bien
second
es menor que 0 o mayor que 59.
o bien
millisecond
es menor que 0 o mayor que 999.
o bien
microsecond
es menor que 0 o mayor que 999.
kind
no es uno de los valores de DateTimeKind.
Comentarios
Los valores permitidos para year
los parámetros , month
y day
dependen del calendar
parámetro . Se produce una excepción si la fecha y hora especificadas no se pueden expresar mediante calendar
.
En el caso de las aplicaciones en las que es importante la portabilidad de los datos de fecha y hora o un grado limitado de reconocimiento de zona horaria, puede usar el constructor correspondiente DateTimeOffset .
Se aplica a
DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
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.
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
Año (del 1 al 9999).
- month
- Int32
Mes (del 1 al 12).
- day
- Int32
Día (del 1 al número de días de month
).
- hour
- Int32
Horas (de 0 a 23).
- minute
- Int32
Minutos (de 0 a 59).
- second
- Int32
Segundos (de 0 a 59).
- kind
- 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.
Excepciones
year
es menor que 1 o mayor que 9999.
o bien
month
es menor que 1 o mayor que 12.
o bien
day
es menor que 1 o mayor que el número de días en month
.
o bien
hour
es menor que 0 o mayor que 23.
o bien
minute
es menor que 0 o mayor que 59.
o bien
second
es menor que 0 o mayor que 59.
kind
no es uno de los valores de DateTimeKind.
Ejemplos
En el ejemplo siguiente se usa el DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) constructor para crear una instancia de un DateTime valor.
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
Comentarios
Este constructor interpretayear
, month
y day
como un año, mes y día en el calendario gregoriano. Para crear una instancia de un DateTime valor mediante el año, mes y día en otro calendario, llame al DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor .
En el caso de las aplicaciones en las que la portabilidad de los datos de fecha y hora o un grado limitado de reconocimiento de zona horaria es importante, puede usar el constructor correspondiente DateTimeOffset .
Se aplica a
DateTime(Int32, Int32, Int32, Int32, Int32, Int32)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto y segundo especificados.
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
Año (del 1 al 9999).
- month
- Int32
Mes (del 1 al 12).
- day
- Int32
Día (del 1 al número de días de month
).
- hour
- Int32
Horas (de 0 a 23).
- minute
- Int32
Minutos (de 0 a 59).
- second
- Int32
Segundos (de 0 a 59).
Excepciones
year
es menor que 1 o mayor que 9999.
o bien
month
es menor que 1 o mayor que 12.
o bien
day
es menor que 1 o mayor que el número de días en month
.
o bien
hour
es menor que 0 o mayor que 23.
o bien
minute
es menor que 0 o mayor que 59.
o bien
second
es menor que 0 o mayor que 59.
Ejemplos
En el ejemplo siguiente se usa el DateTime constructor para crear una instancia de un DateTime valor.
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
Comentarios
La propiedad Kind se inicializa en Unspecified.
Este constructor interpretayear
, month
y day
como un año, mes y día en el calendario gregoriano. Para crear una instancia de un DateTime valor mediante el año, mes y día en otro calendario, llame al DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor .
En el caso de las aplicaciones en las que la portabilidad de los datos de fecha y hora o un grado limitado de reconocimiento de zona horaria es importante, puede usar el constructor correspondiente DateTimeOffset .
Se aplica a
DateTime(Int32, Int32, Int32, Calendar)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
Inicializa una nueva instancia de la estructura DateTime en el año, mes y día especificados para el calendario determinado.
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)
Parámetros
- year
- Int32
Año (del 1 al número de años de calendar
).
- month
- Int32
Mes (del 1 al número de meses de calendar
).
- day
- Int32
Día (del 1 al número de días de month
).
- calendar
- Calendar
Calendario que se usa para interpretar year
, month
y day
.
Excepciones
calendar
es null
.
year
no está en el intervalo que admite calendar
.
o bien
month
es menor que 1 o mayor que el número de meses en calendar
.
o bien
day
es menor que 1 o mayor que el número de días en month
.
Ejemplos
En el ejemplo siguiente se llama al DateTime(Int32, Int32, Int32, Calendar) constructor dos veces para crear una instancia de dos DateTime valores. La primera llamada crea una instancia de un DateTime valor mediante un PersianCalendar objeto . Dado que el calendario persa no se puede designar como calendario predeterminado para una referencia cultural, mostrar una fecha en el calendario persa requiere llamadas individuales a sus PersianCalendar.GetMonthmétodos , PersianCalendar.GetDayOfMonthy PersianCalendar.GetYear . La segunda llamada al constructor crea una instancia de un DateTime valor mediante un HijriCalendar objeto . En el ejemplo se cambia la referencia cultural actual a Árabe (Siria) y se cambia el calendario predeterminado de la referencia cultural actual al calendario Hijri. 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. Cuando se restaura la referencia cultural actual anterior (que es inglés (Estados Unidos) en este caso, el Console.WriteLine método usa el calendario gregoriano predeterminado de la referencia cultural actual para dar formato a la fecha.
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
Comentarios
La hora del día para el resultado DateTime es medianoche (00:00:00). La propiedad Kind se inicializa en Unspecified.
Los valores permitidos para year
, month
y day
dependen de calendar
. Se produce una excepción si la fecha y hora especificadas no se pueden expresar mediante calendar
.
Importante
Las eras en los calendarios japoneses se basan en el reino del emperador y, por tanto, se espera que cambien. Por ejemplo, el 1 de mayo de 2019 marcaba el comienzo de la era Reiwa en JapaneseCalendar y JapaneseLunisolarCalendar. Este cambio de era afecta a todas las aplicaciones que usan estos calendarios. Para obtener más información y determinar si las aplicaciones se ven afectadas, consulte Control de una nueva era en el calendario japonés en .NET. Para obtener información sobre cómo probar las aplicaciones en sistemas Windows para garantizar su preparación para el cambio de era, consulte Preparación de la aplicación para el cambio en la era japonesa. Para ver las características de .NET que admiten calendarios con varias eras y para conocer los procedimientos recomendados al trabajar con calendarios que admiten varias eras, consulte Trabajar con eras.
El System.Globalization espacio de nombres proporciona varios calendarios, incluidos GregorianCalendar y JulianCalendar.
Consulte también
Se aplica a
DateTime(Int32, Int32, Int32)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
Inicializa una nueva instancia de la estructura DateTime en el año, mes y día especificados.
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
Año (del 1 al 9999).
- month
- Int32
Mes (del 1 al 12).
- day
- Int32
Día (del 1 al número de días de month
).
Excepciones
year
es menor que 1 o mayor que 9999.
o bien
month
es menor que 1 o mayor que 12.
o bien
day
es menor que 1 o mayor que el número de días en month
.
Ejemplos
En el ejemplo siguiente se usa el DateTime(Int32, Int32, Int32) constructor para crear una instancia de un DateTime valor. En el ejemplo también se muestra que esta sobrecarga crea un DateTime valor cuyo componente de hora es igual a medianoche (o 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
Comentarios
Este constructor interpreta year
, month
y day
como un año, mes y día en el calendario gregoriano. Para crear una instancia de un DateTime valor mediante el año, mes y día en otro calendario, llame al DateTime(Int32, Int32, Int32, Calendar) constructor .
La hora del día para el resultado DateTime es medianoche (00:00:00). La propiedad Kind se inicializa en DateTimeKind.Unspecified.
Se aplica a
DateTime(DateOnly, TimeOnly, DateTimeKind)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
Inicializa una nueva instancia de la DateTime estructura en el especificado DateOnly y TimeOnly respetando el especificado 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)
Parámetros
- date
- DateOnly
Parte de fecha.
- time
- TimeOnly
Parte de tiempo.
- kind
- DateTimeKind
Uno de los valores de enumeración que indica si date
y time
especifican una hora local, una hora universal coordinada (UTC) o ninguna.
Se aplica a
DateTime(Int64, DateTimeKind)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
Inicializa una nueva instancia de la estructura DateTime en el número de pasos y hora universal coordinada (UTC) u hora local especificados.
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
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.
- kind
- 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.
Excepciones
ticks
es menor que DateTime.MinValue o mayor que DateTime.MaxValue.
kind
no es uno de los valores de DateTimeKind.
Comentarios
En el caso de las aplicaciones en las que es importante la portabilidad de los datos de fecha y hora o un grado limitado de reconocimiento de zona horaria, puede usar el constructor correspondiente DateTimeOffset .
Se aplica a
DateTime(DateOnly, TimeOnly)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
Inicializa una nueva instancia de la DateTime estructura en el especificado DateOnly y TimeOnly. La nueva instancia tendrá el Unspecified tipo .
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)
Parámetros
- date
- DateOnly
Parte de fecha.
- time
- TimeOnly
Parte de tiempo.
Se aplica a
DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar)
- Source:
- DateTime.cs
- Source:
- DateTime.cs
- Source:
- DateTime.cs
Inicializa una nueva instancia de la estructura DateTime en el año, mes, día, hora, minuto y segundo especificados para el calendario indicado.
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)
Parámetros
- year
- Int32
Año (del 1 al número de años de calendar
).
- month
- Int32
Mes (del 1 al número de meses de calendar
).
- day
- Int32
Día (del 1 al número de días de month
).
- hour
- Int32
Horas (de 0 a 23).
- minute
- Int32
Minutos (de 0 a 59).
- second
- Int32
Segundos (de 0 a 59).
- calendar
- Calendar
Calendario que se usa para interpretar year
, month
y day
.
Excepciones
calendar
es null
.
year
no está en el intervalo que admite calendar
.
o bien
month
es menor que 1 o mayor que el número de meses en calendar
.
o bien
day
es menor que 1 o mayor que el número de días en month
.
o bien
hour
es menor que 0 o mayor que 23
o bien
minute
es menor que 0 o mayor que 59.
o bien
second
es menor que 0 o mayor que 59.
Ejemplos
En el DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) ejemplo siguiente se llama al constructor dos veces para crear una instancia de dos DateTime valores. La primera llamada crea una instancia de un DateTime valor mediante un PersianCalendar objeto . Dado que el calendario persa no se puede designar como el calendario predeterminado para una referencia cultural, mostrar una fecha en el calendario persa requiere llamadas individuales a sus PersianCalendar.GetMonthmétodos , PersianCalendar.GetDayOfMonthy PersianCalendar.GetYear . La segunda llamada al constructor crea una instancia de un DateTime valor mediante un HijriCalendar objeto . En el ejemplo se cambia la referencia cultural actual al árabe (Siria) y se cambia el calendario predeterminado de la referencia cultural actual al calendario hijri. 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. Cuando se restaura la referencia cultural actual anterior (que es inglés (Estados Unidos) en este caso, el Console.WriteLine método usa el calendario gregoriano predeterminado de la referencia cultural actual para dar formato a la fecha.
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
Comentarios
La propiedad Kind se inicializa en Unspecified.
Los valores permitidos para year
, month
y day
dependen de calendar
. Se produce una excepción si la fecha y hora especificadas no se pueden expresar mediante calendar
.
Importante
Las eras en los calendarios japoneses se basan en el reino del emperador y, por tanto, se espera que cambien. Por ejemplo, el 1 de mayo de 2019 marcaba el comienzo de la era Reiwa en JapaneseCalendar y JapaneseLunisolarCalendar. Este cambio de era afecta a todas las aplicaciones que usan estos calendarios. Para obtener más información y determinar si las aplicaciones se ven afectadas, consulte Control de una nueva era en el calendario japonés en .NET. Para obtener información sobre cómo probar las aplicaciones en sistemas Windows para garantizar su preparación para el cambio de era, consulte Preparación de la aplicación para el cambio en la era japonesa. Para conocer las características de .NET que admiten calendarios con varias eras y procedimientos recomendados al trabajar con calendarios que admiten varias eras, consulte Trabajar con eras.
El System.Globalization espacio de nombres proporciona varios calendarios, incluidos GregorianCalendar y JulianCalendar.