JapaneseCalendar.ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32) Método
Definição
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
Um inteiro que representa o ano.An integer that represents the year.
- month
- Int32
Um inteiro de 1 a 12 que representa o mês.An integer from 1 to 12 that represents the month.
- day
- Int32
Um inteiro de 1 a 31 que representa o dia.An integer from 1 to 31 that represents the day.
- hour
- Int32
Um inteiro de 0 a 23 que representa a hora.An integer from 0 to 23 that represents the hour.
- minute
- Int32
Um inteiro de 0 a 59 que representa o minuto.An integer from 0 to 59 that represents the minute.
- second
- Int32
Um inteiro de 0 a 59 que representa o segundo.An integer from 0 to 59 that represents the second.
- millisecond
- Int32
Um inteiro de 0 a 999 que representa o milissegundo.An integer from 0 to 999 that represents the millisecond.
- era
- Int32
Um inteiro que representa a era.An integer that represents the era.
Retornos
O DateTime que é definido como a data e hora especificadas na era atual.The DateTime that is set to the specified date and time in the current era.
Exceções
year está fora do intervalo com suporte do calendário.year is outside the range supported by the calendar.
- ou --or-
month está fora do intervalo com suporte do calendário.month is outside the range supported by the calendar.
- ou --or-
day está fora do intervalo com suporte do calendário.day is outside the range supported by the calendar.
- ou --or-
hour é menor que zero ou maior que 23.hour is less than zero or greater than 23.
- ou --or-
minute é menor que zero ou maior que 59.minute is less than zero or greater than 59.
- ou --or-
second é menor que zero ou maior que 59.second is less than zero or greater than 59.
- ou --or-
millisecond é menor que zero ou maior que 999.millisecond is less than zero or greater than 999.
- ou --or-
era está fora do intervalo com suporte do calendário.era is outside the range supported by the calendar.
Exemplos
O exemplo a seguir instancia duas datas.The following example instantiates two dates. O primeiro é sempre o primeiro dia do segundo ano na era atual, enquanto o segundo identifica um dia específico na era do Taisho.The first is always the first day of the second year in the current era, while the second identifies a specific day in the Taisho era. A saída do exemplo foi produzida com a era Heisei como a era atual.The output from the example was produced with the Heisei era as the current era.
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
Comentários
O ToDateTime método é útil porque pode converter qualquer data no calendário atual em uma data do calendário gregoriano.The ToDateTime method is useful because it can convert any date in the current calendar to a Gregorian calendar date. A data gregoriana pode ser usada posteriormente, por exemplo, para comparar datas em diferentes calendários ou criar uma data equivalente em um calendário específico.The Gregorian date can subsequently be used, for example, to compare dates in different calendars or create an equivalent date in a particular calendar.
Como o JapaneseCalendar dá suporte a vários apagamentos com base no Reino do imperador, você sempre deve chamar esse método e especificar explicitamente uma era para evitar uma data involuntária e tornar a intenção do seu código clara.Because the JapaneseCalendar supports multiple eras based on the reign of the emperor, you should always call this method and explicitly specify an era to avoid an unintended date and to make the intent of your code clear. O exemplo mostra como criar uma instância de uma data que sempre está na era atual e outra que pertence a uma era especificada.The example shows how to instantiate a date that is always in the current era and one that belongs to a specified era.