JapaneseCalendar.ToDateTime Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un oggetto DateTime impostato sulla data e l'ora specificate nell'era specificata.
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
abstract member ToDateTime : int * int * int * int * int * int * int * int -> DateTime
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
Parametri
- year
- Int32
Intero che rappresenta l'anno.
- month
- Int32
Intero compreso tra 1 e 12 che rappresenta il mese.
- day
- Int32
Intero compreso tra 1 e 31 che rappresenta il giorno.
- hour
- Int32
Intero compreso tra 0 e 23 che rappresenta l'ora.
- minute
- Int32
Intero compreso tra 0 e 59 che rappresenta il minuto.
- second
- Int32
Intero compreso tra 0 e 59 che rappresenta il secondo.
- millisecond
- Int32
Intero compreso tra 0 e 999 che rappresenta il millisecondo.
- era
- Int32
Intero che rappresenta l'era.
Valori restituiti
Oggetto DateTime impostato sulla data e l'ora specificate nell'era corrente.
Eccezioni
year non è compreso nell'intervallo supportato dal calendario.
oppure
month non è compreso nell'intervallo supportato dal calendario.
oppure
day non è compreso nell'intervallo supportato dal calendario.
oppure
hour è minore di zero o maggiore di 23.
oppure
minute è minore di zero o maggiore di 59.
oppure
second è minore di zero o maggiore di 59.
oppure
millisecond è minore di zero o maggiore di 999.
oppure
era non è compreso nell'intervallo supportato dal calendario.
Esempio
Nell'esempio seguente viene creata un'istanza di due date. Il primo è sempre il primo giorno del secondo anno nell'era corrente, mentre il secondo identifica un giorno specifico nell'era Taisho. L'output dell'esempio è stato prodotto con l'era Heisei come era corrente.
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
Commenti
Il ToDateTime metodo è utile perché può convertire qualsiasi data nel calendario corrente in una data del calendario gregoriano. La data gregoriana può essere usata successivamente, ad esempio, per confrontare le date in calendari diversi o creare una data equivalente in un determinato calendario.
JapaneseCalendar Poiché supporta più ere basate sul regno dell'imperatore, devi sempre chiamare questo metodo e specificare in modo esplicito un'era per evitare una data imprevista e rendere chiaro lo scopo del codice. L'esempio mostra come creare un'istanza di una data sempre nell'era corrente e una che appartiene a un'era specificata.