Partage via


JapaneseCalendar.ToDateTime Méthode

Définition

Retourne un DateTime auquel sont affectées la date et l’heure spécifiées dans l’ère spécifiée.

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

Paramètres

year
Int32

Entier qui représente l’année.

month
Int32

Entier de 1 à 12 qui représente le mois.

day
Int32

Entier de 1 à 31 qui représente le jour.

hour
Int32

Entier de 0 à 23 qui représente l’heure.

minute
Int32

Entier de 0 à 59 qui représente la minute.

second
Int32

Entier de 0 à 59 qui représente la seconde.

millisecond
Int32

Entier de 0 à 999 qui représente la milliseconde.

era
Int32

Entier qui représente l’ère.

Retours

DateTime correspondant à la date et à l’heure spécifiées pour l’ère actuelle.

Exceptions

year est en dehors de la plage prise en charge par le calendrier.

- ou -

month est en dehors de la plage prise en charge par le calendrier.

- ou -

day est en dehors de la plage prise en charge par le calendrier.

- ou -

hour est inférieur à 0 ou supérieur à 23.

- ou -

minute est inférieur à 0 ou supérieur à 59.

- ou -

second est inférieur à 0 ou supérieur à 59.

- ou -

millisecond est inférieur à 0 ou supérieur à 999.

- ou -

era est en dehors de la plage prise en charge par le calendrier.

Exemples

L’exemple suivant instancie deux dates. Le premier est toujours le premier jour de la deuxième année de l’ère actuelle, tandis que le second identifie un jour spécifique dans l’ère Taisho. La sortie de l’exemple a été produite avec l’ère Heisei comme l’ère actuelle.

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

Remarques

La ToDateTime méthode est utile, car elle peut convertir n’importe quelle date du calendrier actuel en date du calendrier grégorien. La date grégorienne peut ensuite être utilisée, par exemple, pour comparer des dates dans différents calendriers ou créer une date équivalente dans un calendrier particulier.

Étant donné que prend JapaneseCalendar en charge plusieurs ères basées sur le règne de l’empereur, vous devez toujours appeler cette méthode et spécifier explicitement une ère pour éviter une date inattendue et pour clarifier l’intention de votre code. L’exemple montre comment instancier une date qui est toujours dans l’ère actuelle et qui appartient à une ère spécifiée.

S’applique à

Voir aussi