Freigeben über


JapaneseCalendar.ToDateTime Methode

Definition

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.

Gilt für:

Weitere Informationen