JapaneseCalendar.ToDateTime Metode

Definisi

Mengembalikan DateTime yang diatur ke tanggal dan waktu yang ditentukan dalam era yang ditentukan.

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

Bilangan bulat yang mewakili tahun.

month
Int32

Bilangan bulat dari 1 hingga 12 yang mewakili bulan tersebut.

day
Int32

Bilangan bulat dari 1 hingga 31 yang mewakili hari itu.

hour
Int32

Bilangan bulat dari 0 hingga 23 yang mewakili jam.

minute
Int32

Bilangan bulat dari 0 hingga 59 yang mewakili menit.

second
Int32

Bilangan bulat dari 0 hingga 59 yang mewakili yang kedua.

millisecond
Int32

Bilangan bulat dari 0 hingga 999 yang mewakili milidetik.

era
Int32

Bilangan bulat yang mewakili era.

Mengembalikan

DateTime yang diatur ke tanggal dan waktu yang ditentukan di era saat ini.

Pengecualian

year berada di luar rentang yang didukung oleh kalender.

-atau-

month berada di luar rentang yang didukung oleh kalender.

-atau-

day berada di luar rentang yang didukung oleh kalender.

-atau-

hour kurang dari nol atau lebih besar dari 23.

-atau-

minute kurang dari nol atau lebih besar dari 59.

-atau-

second kurang dari nol atau lebih besar dari 59.

-atau-

millisecond kurang dari nol atau lebih besar dari 999.

-atau-

era berada di luar rentang yang didukung oleh kalender.

Contoh

Contoh berikut membuat instans dua tanggal. Yang pertama selalu merupakan hari pertama tahun kedua di era saat ini, sementara yang kedua mengidentifikasi hari tertentu di era Taisho. Output dari contoh diproduksi dengan era Heisei sebagai era saat ini.

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

Keterangan

Metode ToDateTime ini berguna karena dapat mengonversi tanggal apa pun di kalender saat ini ke tanggal kalender Gregorian. Tanggal Gregorian kemudian dapat digunakan, misalnya, untuk membandingkan tanggal di kalender yang berbeda atau membuat tanggal yang setara di kalender tertentu.

JapaneseCalendar Karena mendukung beberapa era berdasarkan pemerintahan kaisar, Anda harus selalu memanggil metode ini dan secara eksplisit menentukan era untuk menghindari tanggal yang tidak diinginkan dan untuk membuat niat kode Anda jelas. Contoh menunjukkan cara membuat instans tanggal yang selalu berada di era saat ini dan tanggal yang termasuk dalam era tertentu.

Berlaku untuk

Lihat juga