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 einen DateTime Wert zurück, der auf das angegebene Datum und die angegebene Uhrzeit in der angegebenen Ära 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
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
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 zweite darstellt.
- millisecond
- Int32
Eine ganze Zahl zwischen 0 und 999, die den Millisekunden darstellt.
- era
- Int32
Eine ganze Zahl, die die Ära darstellt.
Gibt zurück
Der DateTime Wert, der auf das angegebene Datum und die angegebene Uhrzeit in der aktuellen Ära festgelegt ist.
Ausnahmen
year befindet sich außerhalb des vom Kalender unterstützten Bereichs.
-oder-
month befindet sich außerhalb des vom Kalender unterstützten Bereichs.
-oder-
day befindet sich außerhalb des vom Kalender unterstützten Bereichs.
-oder-
hour ist kleiner als null oder größer als 23.
-oder-
minute ist kleiner als 0 oder größer als 59.
-oder-
second ist kleiner als 0 oder größer als 59.
-oder-
millisecond ist kleiner als null oder größer als 999.
-oder-
era befindet sich außerhalb des vom Kalender unterstützten Bereichs.
Beispiele
Im folgenden Beispiel werden zwei Datumsangaben instanziiert. Der erste ist immer der erste Tag des zweiten Jahres in der aktuellen Ära, während die zweite einen bestimmten Tag in der Taisho-Ära identifiziert. Die Ausgabe aus dem Beispiel wurde mit der Heisei-Ära als aktuelle Ära produziert.
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 ein beliebiges Datum im aktuellen Kalender in ein gregorianisches Kalenderdatum konvertieren kann. Das gregorianische Datum kann anschließend verwendet werden, um z. B. Datumsangaben in verschiedenen Kalendern zu vergleichen oder ein entsprechendes Datum in einem bestimmten Kalender zu erstellen.
Da die JapaneseCalendar Unterstützung mehrerer Epochen, die auf der Herrschaft des Kaisers basieren, 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 sich immer in der aktuellen Ära befindet und eines, das zu einer bestimmten Ära gehört.