JapaneseCalendar.ToDateTime Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt eine DateTime zurück, die auf das angegebene Datum und die angegebene Uhrzeit im angegebenen Zeitraum festgelegt ist.
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
Parameter
- year
- Int32
Eine ganze Zahl, die das Jahr darstellt.
- month
- Int32
Eine ganze Zahl zwischen 1 und 12, die den Monat darstellt.
- day
- Int32
Eine ganze Zahl zwischen 1 und 31, die den Tag darstellt.
- hour
- Int32
Eine ganze Zahl zwischen 0 und 23, die die Stunde darstellt.
- minute
- Int32
Eine ganze Zahl zwischen 0 und 59, die die Minute darstellt.
- second
- Int32
Eine ganze Zahl zwischen 0 und 59, die die Sekunde darstellt.
- millisecond
- Int32
Eine ganze Zahl zwischen 0 und 999, die die Millisekunde darstellt.
- era
- Int32
Eine ganze Zahl, die den Zeitraum darstellt.
Gibt zurück
Die DateTime, die auf das angegebene Datum und die angegebene Uhrzeit im aktuellen Zeitraum festgelegt ist.
Ausnahmen
year
liegt außerhalb des Bereichs, der vom Kalender unterstützt wird.
- oder -
month
liegt außerhalb des Bereichs, der vom Kalender unterstützt wird.
- oder -
day
liegt außerhalb des Bereichs, der vom Kalender unterstützt wird.
- oder -
hour
ist kleiner als 0 (null) oder größer als 23.
- oder -
minute
ist kleiner als 0 (null) oder größer als 59.
- oder -
second
ist kleiner als 0 (null) oder größer als 59.
- oder -
millisecond
ist kleiner als 0 (null) oder größer als 999.
- oder -
era
liegt außerhalb des Bereichs, der vom Kalender unterstützt wird.
Beispiele
Im folgenden Beispiel werden zwei Datumsangaben instanziiert. Der erste ist immer der erste Tag des zweiten Jahres in der aktuellen Ära, während der zweite einen bestimmten Tag in der Taisho-Ära identifiziert. Die Ausgabe des Beispiels wurde mit der Heisei-Ära als aktuelle Ära erstellt.
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
Hinweise
Die ToDateTime -Methode ist nützlich, da sie jedes Datum im aktuellen Kalender in ein Datum des gregorianischen Kalenders konvertieren kann. Das gregorianische Datum kann anschließend beispielsweise verwendet werden, um Datumsangaben in verschiedenen Kalendern zu vergleichen oder ein gleichwertiges Datum in einem bestimmten Kalender zu erstellen.
Da mehrere JapaneseCalendar Epochen basierend auf der Herrschaft des Kaisers unterstützt, sollten Sie diese Methode immer aufrufen und explizit eine Ära angeben, um ein unbeabsichtigtes Datum zu vermeiden und die Absicht Ihres Codes klar zu machen. Das Beispiel zeigt, wie ein Datum instanziiert wird, das immer im aktuellen Zeitraum liegt und zu einem bestimmten Zeitraum gehört.