JapaneseCalendar.ToDateTime Método
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í.
Devuelve un DateTime que se establece en la fecha y hora de la era especificada.
public:
override DateTime ToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era);
public override DateTime ToDateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, int era);
override this.ToDateTime : int * int * int * int * int * int * int * int -> DateTime
Public Overrides Function ToDateTime (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, era As Integer) As DateTime
Parámetros
- year
- Int32
Entero que representa el año.
- month
- Int32
Entero de 1 a 12 que representa el mes.
- day
- Int32
Entero de 1 a 31 que representa el día.
- hour
- Int32
Entero de 0 a 23 que representa la hora.
- minute
- Int32
Entero de 0 a 59 que representa el minuto.
- second
- Int32
Entero de 0 a 59 que representa el segundo.
- millisecond
- Int32
Entero de 0 a 999 que representa el milisegundo.
- era
- Int32
Entero que representa la era.
Devoluciones
Objeto DateTime que se establece en la fecha y hora especificadas de la era actual.
Excepciones
year
está fuera del intervalo que admite el calendario.
o bien
month
está fuera del intervalo que admite el calendario.
o bien
day
está fuera del intervalo que admite el calendario.
o bien
hour
es menor que cero o mayor que 23.
o bien
minute
es menor que cero o mayor que 59.
o bien
second
es menor que cero o mayor que 59.
o bien
millisecond
es menor que cero o mayor que 999.
o bien
era
está fuera del intervalo que admite el calendario.
Ejemplos
En el ejemplo siguiente se crean instancias de dos fechas. El primero es siempre el primer día del segundo año de la era actual, mientras que el segundo identifica un día específico en la era taisho. La salida del ejemplo se produjo con la era Heisei como era actual.
using System;
using System.Globalization;
class Program
{
static void Main()
{
var cal = new JapaneseCalendar();
var jaJp = new CultureInfo("ja-JP");
jaJp.DateTimeFormat.Calendar = cal;
var date1 = cal.ToDateTime(2,1,1,0,0,0,0,JapaneseCalendar.CurrentEra);
Console.WriteLine($"Japanese calendar date: {date1.ToString("D", jaJp)}, " +
$"Gregorian calendar date: {date1.ToString("D", CultureInfo.InvariantCulture)}");
var date2 = cal.ToDateTime(6,11,7,0,0,0,0,GetEraIndex("大正"));
Console.WriteLine($"Japanese calendar date: {date2.ToString("D", jaJp)}, " +
$"Gregorian calendar date: {date2.ToString("D", CultureInfo.InvariantCulture)}");
int GetEraIndex(string eraName)
{
foreach (var ctr in cal.Eras)
if (jaJp.DateTimeFormat.GetEraName(ctr) == eraName)
return ctr;
return 0;
}
}
}
// The example displays the following output:
// Japanese calendar date: 平成2年1月1日, Gregorian calendar date: Monday, 01 January 1990
// Japanese calendar date: 大正6年11月7日, Gregorian calendar date: Wednesday, 07 November 1917
Imports System.Globalization
Module Program
Dim cal As Calendar
Dim jaJp As CultureInfo
Public Sub Main()
cal = New JapaneseCalendar()
jaJp = New CultureInfo("ja-JP")
jaJp.DateTimeFormat.Calendar = cal
Dim date1 = cal.ToDateTime(2,1,1,0,0,0,0,JapaneseCalendar.CurrentEra)
Console.WriteLine($"Japanese calendar date: {date1.ToString("D", jaJp)}, " +
$"Gregorian calendar date: {date1.ToString("D", CultureInfo.InvariantCulture)}")
Dim date2 = cal.ToDateTime(6,11,7,0,0,0,0,GetEraIndex("大正"))
Console.WriteLine($"Japanese calendar date: {date2.ToString("D", jaJp)}, " +
$"Gregorian calendar date: {date2.ToString("D", CultureInfo.InvariantCulture)}")
End Sub
Private Function GetEraIndex(eraName As String) As Integer
For Each ctr in cal.Eras
If jaJp.DateTimeFormat.GetEraName(ctr) = eraName Then Return ctr
Next
Return 0
End Function
End Module
' The example displays the following output:
' Japanese calendar date: 平成2年1月1日, Gregorian calendar date: Monday, 01 January 1990
' Japanese calendar date: 大正6年11月7日, Gregorian calendar date: Wednesday, 07 November 1917
Comentarios
El ToDateTime método es útil porque puede convertir cualquier fecha del calendario actual en una fecha de calendario gregoriana. La fecha gregoriana se puede usar posteriormente, por ejemplo, para comparar fechas en calendarios diferentes o crear una fecha equivalente en un calendario determinado.
JapaneseCalendar Dado que admite varias eras basadas en el reinado del emperador, siempre debe llamar a este método y especificar explícitamente una era para evitar una fecha no deseada y para que la intención del código sea clara. En el ejemplo se muestra cómo crear una instancia de una fecha que siempre está en la era actual y una que pertenece a una era especificada.