Share via


JapaneseCalendar.ToDateTime Yöntem

Tanım

Belirtilen dönemde belirtilen tarih ve saate ayarlanmış bir DateTime döndürür.

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

Parametreler

year
Int32

Yılı temsil eden bir tamsayı.

month
Int32

1 ile 12 ayları temsil eden bir tamsayı.

day
Int32

Günü temsil eden 1 ile 31 arasından bir tamsayı.

hour
Int32

Saati temsil eden 0 ile 23 arasında bir tamsayı.

minute
Int32

Dakikayı temsil eden 0 ile 59 arasından bir tamsayı.

second
Int32

0 ile 59 saniyeyi temsil eden bir tamsayı.

millisecond
Int32

Milisaniyeyi temsil eden 0 ile 999 arasından bir tamsayı.

era
Int32

Çağı temsil eden bir tamsayı.

Döndürülenler

DateTime Geçerli çağda belirtilen tarih ve saate ayarlanmış olan.

Özel durumlar

year takvim tarafından desteklenen aralığın dışındadır.

-veya-

month takvim tarafından desteklenen aralığın dışındadır.

-veya-

day takvim tarafından desteklenen aralığın dışındadır.

-veya-

hour sıfırdan küçük veya 23'ten büyük.

-veya-

minute sıfırdan küçük veya 59'dan büyük.

-veya-

second sıfırdan küçük veya 59'dan büyük.

-veya-

millisecond sıfırdan küçük veya 999'dan büyük.

-veya-

era takvim tarafından desteklenen aralığın dışındadır.

Örnekler

Aşağıdaki örnekte iki tarih örneği verilmiştir. Birincisi her zaman geçerli çağdaki ikinci yılın ilk günüdür, ikincisi ise Taisho döneminde belirli bir günü tanımlar. Örnekten elde edilen çıktı, geçerli dönem olarak Heisei çağıyla oluşturuldu.

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

Açıklamalar

ToDateTime Yöntemi, geçerli takvimdeki herhangi bir tarihi Gregoryen takvim tarihine dönüştürebildiğinden yararlıdır. Gregoryen tarih daha sonra, örneğin farklı takvimlerdeki tarihleri karşılaştırmak veya belirli bir takvimde eşdeğer bir tarih oluşturmak için kullanılabilir.

JapaneseCalendar İmparatorun hükümranlığını temel alan birden çok dönemi desteklediğinden, her zaman bu yöntemi çağırmalı ve istenmeyen bir tarihi önlemek ve kodunuzun amacını net hale getirmek için açıkça bir dönem belirtmelisiniz. Örnekte, her zaman geçerli çağda olan ve belirtilen bir döneme ait olan bir tarihin nasıl başlatıldığını gösterir.

Şunlara uygulanır

Ayrıca bkz.