JapaneseCalendar.ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32) JapaneseCalendar.ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32) JapaneseCalendar.ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32) JapaneseCalendar.ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32) Method

定義

指定した時代 (年号) の指定した日付と時刻に設定された DateTime を返します。Returns a DateTime that is set to the specified date and time in the specified era.

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

パラメーター

year
Int32 Int32 Int32 Int32

年を表す整数。An integer that represents the year.

month
Int32 Int32 Int32 Int32

月を表す 1 から 12 の整数。An integer from 1 to 12 that represents the month.

day
Int32 Int32 Int32 Int32

日を表す 1 から 31 の整数。An integer from 1 to 31 that represents the day.

hour
Int32 Int32 Int32 Int32

時間を表す 0 から 23 の整数。An integer from 0 to 23 that represents the hour.

minute
Int32 Int32 Int32 Int32

分を表す 0 から 59 の整数。An integer from 0 to 59 that represents the minute.

second
Int32 Int32 Int32 Int32

秒を表す 0 から 59 の整数。An integer from 0 to 59 that represents the second.

millisecond
Int32 Int32 Int32 Int32

ミリ秒を表す 0 から 999 の整数。An integer from 0 to 999 that represents the millisecond.

era
Int32 Int32 Int32 Int32

時代 (年号) を表す整数。An integer that represents the era.

戻り値

現在の時代 (年号) の指定した日付と時刻に設定された DateTimeThe DateTime that is set to the specified date and time in the current era.

例外

year がカレンダーでサポートされている範囲外です。year is outside the range supported by the calendar.

または-or- month がカレンダーでサポートされている範囲外です。month is outside the range supported by the calendar.

または-or- day がカレンダーでサポートされている範囲外です。day is outside the range supported by the calendar.

または-or- hour が 0 未満であるか、23 を超えています。hour is less than zero or greater than 23.

または-or- minute が 0 未満か、59 を超えています。minute is less than zero or greater than 59.

または-or- second が 0 未満か、59 を超えています。second is less than zero or greater than 59.

または-or- millisecond が 0 未満か、999 を超えています。millisecond is less than zero or greater than 999.

または-or- era がカレンダーでサポートされている範囲外です。era is outside the range supported by the calendar.

次の例では、2 つの日付をインスタンス化します。The following example instantiates two dates. 1 つは、2 番目 Taisho の時代 (年号) の特定の曜日を指定するときに、現在の時代 (年号)、2 つ目の年の最初の曜日では常に。The first is always the first day of the second year in the current era, while the second identifies a specific day in the Taisho era. この例の出力は、現在の時代 (年号) として平成時代 (年号) で作成されました。The output from the example was produced with the Heisei era as the current era.

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

注釈

ToDateTimeメソッド グレゴリオ暦の日付を現在の暦で日付を変換できますので便利です。The ToDateTime method is useful because it can convert any date in the current calendar to a Gregorian calendar date. グレゴリオ暦の日付後で使用できますなどのさまざまなカレンダーで日付を比較または等価の日付を特定の暦で作成します。The Gregorian date can subsequently be used, for example, to compare dates in different calendars or create an equivalent date in a particular calendar.

JapaneseCalendarの皇帝に基づく複数時代 (年号) をサポートしています。 常にこのメソッドを呼び出すと、意図しない日を回避するために、クリア、コードの意図を、時代 (年号) を明示的に指定する必要があります。Because the JapaneseCalendar supports multiple eras based on the reign of the emperor, you should always call this method and explicitly specify an era to avoid an unintended date and to make the intent of your code clear. 例では、常に現在の時代 (年号) の日付と指定した時代 (年号) に属している 1 つのインスタンスを作成する方法を示します。The example shows how to instantiate a date that is always in the current era and one that belongs to a specified era.

適用対象

こちらもご覧ください