DateTime DateTime DateTime DateTime Constructors

定義

オーバーロード

DateTime(Int64) DateTime(Int64) DateTime(Int64) DateTime(Int64)

DateTime 構造体の新しいインスタンスを、指定したタイマー刻み数に初期化します。Initializes a new instance of the DateTime structure to a specified number of ticks.

DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind)

DateTime 構造体の新しいインスタンスを、指定したタイマー刻み数と世界協定時刻 (UTC) または現地時刻に初期化します。Initializes a new instance of the DateTime structure to a specified number of ticks and to Coordinated Universal Time (UTC) or local time.

DateTime(Int32, Int32, Int32) DateTime(Int32, Int32, Int32) DateTime(Int32, Int32, Int32) DateTime(Int32, Int32, Int32)

DateTime 構造体の新しいインスタンスを、指定した年、月、日に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, and day.

DateTime(Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Calendar)

DateTime 構造体の新しいインスタンスを、指定した暦の指定した年、月、および日に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, and day for the specified calendar.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32)

DateTime 構造体の新しいインスタンスを、指定した年、月、日、時、分、および秒に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

DateTime 構造体の新しいインスタンスを、指定した年、月、日、時、分、秒、および世界協定時刻 (UTC) または現地時刻に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and Coordinated Universal Time (UTC) or local time.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

DateTime 構造体の新しいインスタンスを、指定した暦の指定した年、月、日、時、分、および秒に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second for the specified calendar.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

DateTime 構造体の新しいインスタンスを、指定した年、月、日、時、分、秒、およびミリ秒に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

DateTime 構造体の新しいインスタンスを、指定した年、月、日、時、分、秒、ミリ秒、および世界協定時刻 (UTC) または現地時刻に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

DateTime 構造体の新しいインスタンスを、指定した暦の指定した年、月、日、時、分、秒、およびミリ秒に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond for the specified calendar.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)

DateTime 構造体の新しいインスタンスを、指定した暦の指定した年、月、日、時、分、秒、ミリ秒、および世界協定時刻 (UTC) または現地時刻に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time for the specified calendar.

DateTime(Int64) DateTime(Int64) DateTime(Int64) DateTime(Int64)

DateTime 構造体の新しいインスタンスを、指定したタイマー刻み数に初期化します。Initializes a new instance of the DateTime structure to a specified number of ticks.

public:
 DateTime(long ticks);
public DateTime (long ticks);
new DateTime : int64 -> DateTime
Public Sub New (ticks As Long)

パラメーター

ticks
Int64 Int64 Int64 Int64

日時をグレゴリオ暦の 0001 年 1 月 1 日の 00:00:00.000 以降の経過時間 (100 ナノ秒単位) で表した値。A date and time expressed in the number of 100-nanosecond intervals that have elapsed since January 1, 0001 at 00:00:00.000 in the Gregorian calendar.

例外

ticksMinValue より小さいか MaxValue より大きいです。ticks is less than MinValue or greater than MaxValue.

次の例での 1 つ、DateTimeコンス トラクター。The following example demonstrates one of the DateTime constructors.

// This example demonstrates the DateTime(Int64) constructor.
using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Instead of using the implicit, default "G" date and time format string, we 
   // use a custom format string that aligns the results and inserts leading zeroes.
   String^ format = "{0}) The {1} date and time is {2:MM/dd/yyyy hh:mm:ss tt}";
   
   // Create a DateTime for the maximum date and time using ticks.
   DateTime dt1 = DateTime(DateTime::MaxValue.Ticks);
   
   // Create a DateTime for the minimum date and time using ticks.
   DateTime dt2 = DateTime(DateTime::MinValue.Ticks);
   
   // Create a custom DateTime for 7/28/1979 at 10:35:05 PM using a 
   // calendar based on the "en-US" culture, and ticks. 
   Int64 ticks = DateTime(1979,07,28,22,35,5,(gcnew CultureInfo( "en-US",false ))->Calendar).Ticks;
   DateTime dt3 = DateTime(ticks);
   Console::WriteLine( format, 1, "maximum", dt1 );
   Console::WriteLine( format, 2, "minimum", dt2 );
   Console::WriteLine( format, 3, "custom ", dt3 );
   Console::WriteLine( "\nThe custom date and time is created from {0:N0} ticks.", ticks );
}

/*
This example produces the following results:

1) The maximum date and time is 12/31/9999 11:59:59 PM
2) The minimum date and time is 01/01/0001 12:00:00 AM
3) The custom  date and time is 07/28/1979 10:35:05 PM

The custom date and time is created from 624,376,461,050,000,000 ticks.

*/
// This example demonstrates the DateTime(Int64) constructor.
using System;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
// Instead of using the implicit, default "G" date and time format string, we 
// use a custom format string that aligns the results and inserts leading zeroes.
    string format = "{0}) The {1} date and time is {2:MM/dd/yyyy hh:mm:ss tt}";

// Create a DateTime for the maximum date and time using ticks.
    DateTime dt1 = new DateTime(DateTime.MaxValue.Ticks);

// Create a DateTime for the minimum date and time using ticks.
    DateTime dt2 = new DateTime(DateTime.MinValue.Ticks);

// Create a custom DateTime for 7/28/1979 at 10:35:05 PM using a 
// calendar based on the "en-US" culture, and ticks. 
    long ticks = new DateTime(1979, 07, 28, 22, 35, 5, 
	new CultureInfo("en-US", false).Calendar).Ticks;
    DateTime dt3 = new DateTime(ticks);

    Console.WriteLine(format, 1, "maximum", dt1);
    Console.WriteLine(format, 2, "minimum", dt2);
    Console.WriteLine(format, 3, "custom ", dt3);
    Console.WriteLine("\nThe custom date and time is created from {0:N0} ticks.", ticks);
    }
}
/*
This example produces the following results:

1) The maximum date and time is 12/31/9999 11:59:59 PM
2) The minimum date and time is 01/01/0001 12:00:00 AM
3) The custom  date and time is 07/28/1979 10:35:05 PM

The custom date and time is created from 624,376,461,050,000,000 ticks.

*/
' This example demonstrates the DateTime(Int64) constructor.
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic

Class Sample
   Public Shared Sub Main()
      ' Instead of using the implicit, default "G" date and time format string, we 
      ' use a custom format string that aligns the results and inserts leading zeroes.
      Dim format As String = "{0}) The {1} date and time is {2:MM/dd/yyyy hh:mm:ss tt}"
      
      ' Create a DateTime for the maximum date and time using ticks.
      Dim dt1 As New DateTime(DateTime.MaxValue.Ticks)
      
      ' Create a DateTime for the minimum date and time using ticks.
      Dim dt2 As New DateTime(DateTime.MinValue.Ticks)
      
      ' Create a custom DateTime for 7/28/1979 at 10:35:05 PM using a 
      ' calendar based on the "en-US" culture, and ticks. 
      Dim ticks As Long = New DateTime(1979, 7, 28, 22, 35, 5, _
                                       New CultureInfo("en-US", False).Calendar).Ticks
      Dim dt3 As New DateTime(ticks)
      
      Console.WriteLine(format, 1, "maximum", dt1)
      Console.WriteLine(format, 2, "minimum", dt2)
      Console.WriteLine(format, 3, "custom ", dt3)
      Console.WriteLine(vbCrLf & "The custom date and time is created from {0:N0} ticks.", ticks)
   End Sub 'Main
End Class 'Sample
'
'This example produces the following results:
'
'1) The maximum date and time is 12/31/9999 11:59:59 PM
'2) The minimum date and time is 01/01/0001 12:00:00 AM
'3) The custom  date and time is 07/28/1979 10:35:05 PM
'
'The custom date and time is created from 624,376,461,050,000,000 ticks.
'

注釈

Kind プロパティは Unspecified に初期化されます。The Kind property is initialized to Unspecified.

日付と時刻のデータまたはある程度までのタイム ゾーンの移植性の認識が重要なアプリケーションでは、対応するを使用できるDateTimeOffsetコンス トラクター。For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind)

DateTime 構造体の新しいインスタンスを、指定したタイマー刻み数と世界協定時刻 (UTC) または現地時刻に初期化します。Initializes a new instance of the DateTime structure to a specified number of ticks and to Coordinated Universal Time (UTC) or local time.

public:
 DateTime(long ticks, DateTimeKind kind);
public DateTime (long ticks, DateTimeKind kind);
new DateTime : int64 * DateTimeKind -> DateTime
Public Sub New (ticks As Long, kind As DateTimeKind)

パラメーター

ticks
Int64 Int64 Int64 Int64

日時をグレゴリオ暦の 0001 年 1 月 1 日の 00:00:00.000 以降の経過時間 (100 ナノ秒単位) で表した値。A date and time expressed in the number of 100-nanosecond intervals that have elapsed since January 1, 0001 at 00:00:00.000 in the Gregorian calendar.

kind
DateTimeKind DateTimeKind DateTimeKind DateTimeKind

ticks が、現地時刻、世界協定時刻 (UTC)、またはそのどちらでもない時刻のうち、どれを指定するかを示す列挙値の 1 つ。One of the enumeration values that indicates whether ticks specifies a local time, Coordinated Universal Time (UTC), or neither.

例外

ticksMinValue より小さいか MaxValue より大きいです。ticks is less than MinValue or greater than MaxValue.

kindDateTimeKind 値のいずれでもありません。kind is not one of the DateTimeKind values.

注釈

日付と時刻のデータまたはある程度までのタイム ゾーンの移植性の認識が重要なアプリケーションでは、対応するを使用できるDateTimeOffsetコンス トラクター。For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

DateTime(Int32, Int32, Int32) DateTime(Int32, Int32, Int32) DateTime(Int32, Int32, Int32) DateTime(Int32, Int32, Int32)

DateTime 構造体の新しいインスタンスを、指定した年、月、日に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, and day.

public:
 DateTime(int year, int month, int day);
public DateTime (int year, int month, int day);
new DateTime : int * int * int -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer)

パラメーター

year
Int32 Int32 Int32 Int32

年 (1 から 9999)。The year (1 through 9999).

month
Int32 Int32 Int32 Int32

月 (1 ~ 12)。The month (1 through 12).

day
Int32 Int32 Int32 Int32

日付 (1 ~ month の日数)。The day (1 through the number of days in month).

例外

year が 1 未満であるか、または 9999 を超えています。year is less than 1 or greater than 9999.

または-or- month が 1 未満であるか、または 12 を超えています。month is less than 1 or greater than 12.

または-or- day が 1 未満であるか、または month の日数を超えています。day is less than 1 or greater than the number of days in month.

次の例では、DateTime(Int32, Int32, Int32)インスタンスを作成するコンス トラクター、DateTime値。The following example uses the DateTime(Int32, Int32, Int32) constructor to instantiate a DateTime value. このオーバー ロードを作成することも例、DateTimeの時刻部分が午前 0 時と等しい値 (0:00)。The example also illustrates that this overload creates a DateTime value whose time component equals midnight (or 0:00).

DateTime date1 = new DateTime(2010, 8, 18);
Console.WriteLine(date1.ToString());
// The example displays the following output:
//      8/18/2010 12:00:00 AM      
Dim date1 As New Date(2010, 8, 18)
Console.WriteLine(date1.ToString())
' The example displays the following output:
'      8/18/2010 12:00:00 AM      

注釈

このコンス トラクターは解釈yearmonth、およびday年、月、および構成のグレゴリオ暦カレンダーにおける日として。This constructor interprets year, month, and day as a year, month, and day in the Gregorian calendar. インスタンス化する、DateTime呼び出し、別の暦の年、月、日を使用して、値、DateTime(Int32, Int32, Int32, Calendar)コンス トラクター。To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Calendar) constructor.

時刻を生成されるDateTimeは午前 0 時 (00: 00:00)。The time of day for the resulting DateTime is midnight (00:00:00). Kind プロパティは DateTimeKind.Unspecified に初期化されます。The Kind property is initialized to DateTimeKind.Unspecified.

DateTime(Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Calendar)

DateTime 構造体の新しいインスタンスを、指定した暦の指定した年、月、および日に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, and day for the specified calendar.

public:
 DateTime(int year, int month, int day, System::Globalization::Calendar ^ calendar);
public DateTime (int year, int month, int day, System.Globalization.Calendar calendar);
new DateTime : int * int * int * System.Globalization.Calendar -> DateTime

パラメーター

year
Int32 Int32 Int32 Int32

年 (1 から calendar の年数)。The year (1 through the number of years in calendar).

month
Int32 Int32 Int32 Int32

月 (1 から calendar の月数)。The month (1 through the number of months in calendar).

day
Int32 Int32 Int32 Int32

日付 (1 ~ month の日数)。The day (1 through the number of days in month).

calendar
Calendar Calendar Calendar Calendar

yearmonth、および day を解釈するために使用される暦。The calendar that is used to interpret year, month, and day.

例外

yearcalendar でサポートされる範囲にありません。year is not in the range supported by calendar.

または-or- month は 1 未満か、calendar の月数を超えています。month is less than 1 or greater than the number of months in calendar.

または-or- day が 1 未満であるか、または month の日数を超えています。day is less than 1 or greater than the number of days in month.

次の例では、 DateTime(Int32, Int32, Int32, Calendar) 2 つのインスタンスを作成するには、2 回コンス トラクターDateTime値。The following example calls the DateTime(Int32, Int32, Int32, Calendar) constructor twice to instantiate two DateTime values. 最初の呼び出しをインスタンス化、DateTime値を使用して、PersianCalendarオブジェクト。The first call instantiates a DateTime value by using a PersianCalendar object. ペルシャ暦で日付を表示する個々 の呼び出しが必要ですペルシャ暦をカルチャの既定の暦として指定することはできません、ため、そのPersianCalendar.GetMonthPersianCalendar.GetDayOfMonth、およびPersianCalendar.GetYearメソッド。Because the Persian calendar cannot be designated as the default calendar for a culture, displaying a date in the Persian calendar requires individual calls to its PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, and PersianCalendar.GetYear methods. 2 番目のコンス トラクター呼び出しをインスタンス化、DateTime値を使用して、HijriCalendarオブジェクト。The second call to the constructor instantiates a DateTime value by using a HijriCalendar object. 例では、現在のカルチャをアラビア語 (シリア) に変更し、現在のカルチャの既定の暦を回教暦に変更します。The example changes the current culture to Arabic (Syria) and changes the current culture's default calendar to the Hijri calendar. イスラム暦が、現在のカルチャの既定の暦であるため、Console.WriteLineメソッドは、日付の書式設定を使用します。Because Hijri is the current culture's default calendar, the Console.WriteLine method uses it to format the date. (これは、英語 (米国) をここでは) 前の現在のカルチャが復元されると、Console.WriteLineメソッドでは、現在のカルチャの既定のグレゴリオ暦を使用して日付の書式設定します。When the previous current culture (which is English (United States) in this case) is restored, the Console.WriteLine method uses the current culture's default Gregorian calendar to format the date.

using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Using the Persian Calendar:");
      PersianCalendar persian = new PersianCalendar();
      DateTime date1 = new DateTime(1389, 5, 27, persian);
      Console.WriteLine(date1.ToString());
      Console.WriteLine("{0}/{1}/{2}\n", persian.GetMonth(date1), 
                                       persian.GetDayOfMonth(date1), 
                                       persian.GetYear(date1));
      
      Console.WriteLine("Using the Hijri Calendar:");
      // Get current culture so it can later be restored.
      CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture;
      
      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY");
      CultureInfo current = CultureInfo.CurrentCulture;
      current.DateTimeFormat.Calendar = hijri;
      string dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy");
      current.DateTimeFormat.ShortDatePattern = dFormat;
      DateTime date2 = new DateTime(1431, 9, 9, hijri);
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}", current, 
                        GetCalendarName(hijri), date2);
      
      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}", 
                        CultureInfo.CurrentCulture, 
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), 
                        date2); 
   }
   
   private static string GetCalendarName(Calendar cal)
   {
      return Regex.Match(cal.ToString(), "\\.(\\w+)Calendar").Groups[1].Value;
   }
}
// The example displays the following output:
//       Using the Persian Calendar:
//       8/18/2010 12:00:00 AM
//       5/27/1389
//       
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431
//       en-US culture using the Gregorian calendar: 8/18/2010
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(1389, 5, 27, persian)
      Console.WriteLine(date1.ToString())
      Console.WriteLine("{0}/{1}/{2}", persian.GetMonth(date1), _
                                       persian.GetDayOfMonth(date1), _
                                       persian.GetYear(date1))
      Console.WriteLine()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      current.DateTimeFormat.Calendar = hijri
      Dim dFormat As String = current.DateTimeFormat.ShortDatePattern
      ' Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy")
      current.DateTimeFormat.ShortDatePattern = dFormat
      Dim date2 As New Date(1431, 9, 9, hijri)
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}", current, _
                        GetCalendarName(hijri), date2) 
      
      ' Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}", _
                        CultureInfo.CurrentCulture, _
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), _
                        date2) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' The example displays the following output:
'       Using the Persian Calendar:
'       8/18/2010 12:00:00 AM
'       5/27/1389
'       
'       Using the Hijri Calendar:
'       ar-SY culture using the Hijri calendar: 09/09/1431
'       en-US culture using the Gregorian calendar: 8/18/2010

注釈

時刻を生成されるDateTimeは午前 0 時 (00: 00:00)。The time of day for the resulting DateTime is midnight (00:00:00). Kind プロパティは Unspecified に初期化されます。The Kind property is initialized to Unspecified.

使用できる値yearmonth、およびdayに依存してcalendarします。The allowable values for year, month, and day depend on calendar. 使用して、指定した日付と時刻を表現できない場合、例外がスローされますcalendarします。An exception is thrown if the specified date and time cannot be expressed using calendar.

重要

和暦の時代 (年号) は天皇の代に基づいているため、変更されることが予想されます。Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. たとえば、JapaneseCalendarJapaneseLunisolarCalendar において、2019 年 5 月 1 日から令和時代が始まることになりました。For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. このような時代 (年号) の変更は、これらのカレンダーを使用するすべてのアプリケーションに影響します。Such a change of era affects all applications that use these calendars. 詳細については「.NET での日本語のカレンダーの新しい時代」をご覧いただき、アプリケーションが影響を受けるかどうかを判断します。See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. 日本語の時代の変更のためのアプリケーションの準備」をご覧いただき、時代の変更に対する状況を確認するために Windows システムでアプリケーションをテストします。See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. 複数の時代 (年号) を含むカレンダーをサポートしている .NET の機能や、複数の時代 (年号) をサポートしているカレンダーを操作する際のベスト プラクティスについては、「Working with eras (時代 (年号) の操作)」をご覧ください。See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

System.Globalization名前空間にはいくつかの予定表を含むGregorianCalendarJulianCalendarします。The System.Globalization namespace provides several calendars including GregorianCalendar and JulianCalendar.

こちらもご覧ください

DateTime(Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32)

DateTime 構造体の新しいインスタンスを、指定した年、月、日、時、分、および秒に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second);
public DateTime (int year, int month, int day, int hour, int minute, int second);
new DateTime : int * int * int * int * int * int -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer)

パラメーター

year
Int32 Int32 Int32 Int32

年 (1 から 9999)。The year (1 through 9999).

month
Int32 Int32 Int32 Int32

月 (1 ~ 12)。The month (1 through 12).

day
Int32 Int32 Int32 Int32

日付 (1 ~ month の日数)。The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

時間 (0 から 23)。The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

分 (0 から 59)。The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

秒 (0 から 59)。The seconds (0 through 59).

例外

year が 1 未満であるか、または 9999 を超えています。year is less than 1 or greater than 9999.

または-or- month が 1 未満であるか、または 12 を超えています。month is less than 1 or greater than 12.

または-or- day が 1 未満であるか、または month の日数を超えています。day is less than 1 or greater than the number of days in month.

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

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

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

次の例では、DateTimeインスタンスを作成するコンス トラクター、DateTime値。The following example uses the DateTime constructor to instantiate a DateTime value.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 0);
Console.WriteLine(date1.ToString());
// The example displays the following output:
//      8/18/2010 4:32:00 PM
Dim date1 As New Date(2010, 8, 18, 16, 32, 0)
Console.WriteLine(date1.ToString())
' The example displays the following output:
'      8/18/2010 4:32:00 PM

注釈

Kind プロパティは Unspecified に初期化されます。The Kind property is initialized to Unspecified.

このコンス トラクターは解釈yearmonth、およびday年、月、および構成のグレゴリオ暦カレンダーにおける日として。This constructor interpretsyear, month, and day as a year, month, and day in the Gregorian calendar. インスタンス化する、DateTime呼び出し、別の暦の年、月、日を使用して、値、DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar)コンス トラクター。To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor.

日付と時刻のデータまたはある程度までのタイム ゾーンの移植性の認識が重要なアプリケーションでは、対応するを使用できるDateTimeOffsetコンス トラクター。For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

DateTime 構造体の新しいインスタンスを、指定した年、月、日、時、分、秒、および世界協定時刻 (UTC) または現地時刻に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and Coordinated Universal Time (UTC) or local time.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * DateTimeKind -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, kind As DateTimeKind)

パラメーター

year
Int32 Int32 Int32 Int32

年 (1 から 9999)。The year (1 through 9999).

month
Int32 Int32 Int32 Int32

月 (1 ~ 12)。The month (1 through 12).

day
Int32 Int32 Int32 Int32

日付 (1 ~ month の日数)。The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

時間 (0 から 23)。The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

分 (0 から 59)。The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

秒 (0 から 59)。The seconds (0 through 59).

kind
DateTimeKind DateTimeKind DateTimeKind DateTimeKind

yearmonthdayhourminute、および second が、現地時刻、世界協定時刻 (UTC)、またはそのどちらでもない時刻のうち、どれを指定するかを示す列挙値の 1 つ。One of the enumeration values that indicates whether year, month, day, hour, minute and second specify a local time, Coordinated Universal Time (UTC), or neither.

例外

year が 1 未満であるか、または 9999 を超えています。year is less than 1 or greater than 9999.

または-or- month が 1 未満であるか、または 12 を超えています。month is less than 1 or greater than 12.

または-or- day が 1 未満であるか、または month の日数を超えています。day is less than 1 or greater than the number of days in month.

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

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

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

kindDateTimeKind 値のいずれでもありません。kind is not one of the DateTimeKind values.

次の例では、DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)インスタンスを作成するコンス トラクター、DateTime値。The following example uses the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) constructor to instantiate a DateTime value.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 0, DateTimeKind.Local);
Console.WriteLine("{0} {1}", date1, date1.Kind);
// The example displays the following output:
//      8/18/2010 4:32:00 PM Local
Dim date1 As New Date(2010, 8, 18, 16, 32, 0, DateTimeKind.Local)
Console.WriteLine("{0} {1}", date1, date1.Kind)
' The example displays the following output:
'      8/18/2010 4:32:00 PM Local

注釈

このコンス トラクターは解釈yearmonth、およびday年、月、および構成のグレゴリオ暦カレンダーにおける日として。This constructor interpretsyear, month, and day as a year, month, and day in the Gregorian calendar. インスタンス化する、DateTime呼び出し、別の暦の年、月、日を使用して、値、DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)コンス トラクター。To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor.

日付と時刻のデータまたはある程度までのタイム ゾーンの移植性の認識が重要なアプリケーションでは、対応するを使用できるDateTimeOffsetコンス トラクター。For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

DateTime 構造体の新しいインスタンスを、指定した暦の指定した年、月、日、時、分、および秒に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second for the specified calendar.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, System::Globalization::Calendar ^ calendar);
public DateTime (int year, int month, int day, int hour, int minute, int second, System.Globalization.Calendar calendar);
new DateTime : int * int * int * int * int * int * System.Globalization.Calendar -> DateTime

パラメーター

year
Int32 Int32 Int32 Int32

年 (1 から calendar の年数)。The year (1 through the number of years in calendar).

month
Int32 Int32 Int32 Int32

月 (1 から calendar の月数)。The month (1 through the number of months in calendar).

day
Int32 Int32 Int32 Int32

日付 (1 ~ month の日数)。The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

時間 (0 から 23)。The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

分 (0 から 59)。The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

秒 (0 から 59)。The seconds (0 through 59).

calendar
Calendar Calendar Calendar Calendar

yearmonth、および day を解釈するために使用される暦。The calendar that is used to interpret year, month, and day.

例外

yearcalendar でサポートされる範囲にありません。year is not in the range supported by calendar.

または-or- month は 1 未満か、calendar の月数を超えています。month is less than 1 or greater than the number of months in calendar.

または-or- day が 1 未満であるか、または month の日数を超えています。day is less than 1 or greater than the number of days in month.

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

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

次の例では、 DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) 2 つのインスタンスを作成するには、2 回コンス トラクターDateTime値。The following example calls the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor twice to instantiate two DateTime values. 最初の呼び出しをインスタンス化、DateTime値を使用して、PersianCalendarオブジェクト。The first call instantiates a DateTime value by using a PersianCalendar object. ペルシャ暦で日付を表示する個々 の呼び出しが必要ですペルシャ暦をカルチャの既定の暦として指定することはできません、ため、そのPersianCalendar.GetMonthPersianCalendar.GetDayOfMonth、およびPersianCalendar.GetYearメソッド。Because the Persian calendar cannot be designated as the default calendar for a culture, displaying a date in the Persian calendar requires individual calls to its PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, and PersianCalendar.GetYear methods. 2 番目のコンス トラクター呼び出しをインスタンス化、DateTime値を使用して、HijriCalendarオブジェクト。The second call to the constructor instantiates a DateTime value by using a HijriCalendar object. 例では、現在のカルチャをアラビア語 (シリア) に変更し、現在のカルチャの既定の暦を回教暦に変更します。The example changes the current culture to Arabic (Syria) and changes the current culture's default calendar to the Hijri calendar. イスラム暦が、現在のカルチャの既定の暦であるため、Console.WriteLineメソッドは、日付の書式設定を使用します。Because Hijri is the current culture's default calendar, the Console.WriteLine method uses it to format the date. (これは、英語 (米国) をここでは) 前の現在のカルチャが復元されると、Console.WriteLineメソッドでは、現在のカルチャの既定のグレゴリオ暦を使用して日付の書式設定します。When the previous current culture (which is English (United States) in this case) is restored, the Console.WriteLine method uses the current culture's default Gregorian calendar to format the date.

using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Using the Persian Calendar:");
      PersianCalendar persian = new PersianCalendar();
      DateTime date1 = new DateTime(1389, 5, 27, 16, 32, 0, persian);
      Console.WriteLine(date1.ToString());
      Console.WriteLine("{0}/{1}/{2} {3}{6}{4:D2}{6}{5:D2}\n", 
                                       persian.GetMonth(date1), 
                                       persian.GetDayOfMonth(date1), 
                                       persian.GetYear(date1), 
                                       persian.GetHour(date1), 
                                       persian.GetMinute(date1), 
                                       persian.GetSecond(date1), 
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator);

      Console.WriteLine("Using the Hijri Calendar:");
      // Get current culture so it can later be restored.
      CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture;
      
      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY");
      CultureInfo current = CultureInfo.CurrentCulture;
      current.DateTimeFormat.Calendar = hijri;
      string dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy");
      current.DateTimeFormat.ShortDatePattern = dFormat;
      DateTime date2 = new DateTime(1431, 9, 9, 16, 32, 18, hijri);
      Console.WriteLine("{0} culture using the {1} calendar: {2:g}", current, 
                        GetCalendarName(hijri), date2);
      
      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      Console.WriteLine("{0} culture using the {1} calendar: {2:g}", 
                        CultureInfo.CurrentCulture, 
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), 
                        date2); 
   }
   
   private static string GetCalendarName(Calendar cal)
   {
      return Regex.Match(cal.ToString(), "\\.(\\w+)Calendar").Groups[1].Value;
   }
}
// The example displays the following output:
//       Using the Persian Calendar:
//       8/18/2010 4:32:00 PM
//       5/27/1389 16:32:00
//       
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431 04:32 م
//       en-US culture using the Gregorian calendar: 8/18/2010 4:32 PM
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(1389, 5, 27, 16, 32, 0, persian)
      Console.WriteLine(date1.ToString())
      Console.WriteLine("{0}/{1}/{2} {3}{6}{4:D2}{6}{5:D2}", persian.GetMonth(date1), _
                                       persian.GetDayOfMonth(date1), _
                                       persian.GetYear(date1), _
                                       persian.GetHour(date1), _
                                       persian.GetMinute(date1), _
                                       persian.GetSecond(date1), _
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator)
      Console.WriteLine()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      current.DateTimeFormat.Calendar = hijri
      Dim dFormat As String = current.DateTimeFormat.ShortDatePattern
      ' Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy")
      current.DateTimeFormat.ShortDatePattern = dFormat
      Dim date2 As New Date(1431, 9, 9, 16, 32, 0, hijri)
      Console.WriteLine("{0} culture using the {1} calendar: {2:g}", current, _
                        GetCalendarName(hijri), date2) 

      ' Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture
      Console.WriteLine("{0} culture using the {1} calendar: {2:g}", _
                        CultureInfo.CurrentCulture, _
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), _
                        date2) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' The example displays the following output:
'       Using the Persian Calendar:
'       8/18/2010 4:32:00 PM
'       5/27/1389 16:32:00
'       
'       Using the Hijri Calendar:
'       ar-SY culture using the Hijri calendar: 09/09/1431 04:32 م
'       en-US culture using the Gregorian calendar: 8/18/2010 4:32 PM

注釈

Kind プロパティは Unspecified に初期化されます。The Kind property is initialized to Unspecified.

使用できる値yearmonth、およびdayに依存してcalendarします。The allowable values for year, month, and day depend on calendar. 使用して、指定した日付と時刻を表現できない場合、例外がスローされますcalendarします。An exception is thrown if the specified date and time cannot be expressed using calendar.

重要

和暦の時代 (年号) は天皇の代に基づいているため、変更されることが予想されます。Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. たとえば、JapaneseCalendarJapaneseLunisolarCalendar において、2019 年 5 月 1 日から令和時代が始まることになりました。For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. このような時代 (年号) の変更は、これらのカレンダーを使用するすべてのアプリケーションに影響します。Such a change of era affects all applications that use these calendars. 詳細については「.NET での日本語のカレンダーの新しい時代」をご覧いただき、アプリケーションが影響を受けるかどうかを判断します。See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. 日本語の時代の変更のためのアプリケーションの準備」をご覧いただき、時代の変更に対する状況を確認するために Windows システムでアプリケーションをテストします。See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. 複数の時代 (年号) を含むカレンダーをサポートしている .NET の機能や、複数の時代 (年号) をサポートしているカレンダーを操作する際のベスト プラクティスについては、「Working with eras (時代 (年号) の操作)」をご覧ください。See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

System.Globalization名前空間にはいくつかの予定表を含むGregorianCalendarJulianCalendarします。The System.Globalization namespace provides several calendars including GregorianCalendar and JulianCalendar.

こちらもご覧ください

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

DateTime 構造体の新しいインスタンスを、指定した年、月、日、時、分、秒、およびミリ秒に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond);
new DateTime : int * int * int * int * int * int * int -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer)

パラメーター

year
Int32 Int32 Int32 Int32

年 (1 から 9999)。The year (1 through 9999).

month
Int32 Int32 Int32 Int32

月 (1 ~ 12)。The month (1 through 12).

day
Int32 Int32 Int32 Int32

日付 (1 ~ month の日数)。The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

時間 (0 から 23)。The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

分 (0 から 59)。The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

秒 (0 から 59)。The seconds (0 through 59).

millisecond
Int32 Int32 Int32 Int32

ミリ秒 (0 から 999)。The milliseconds (0 through 999).

例外

year が 1 未満であるか、または 9999 を超えています。year is less than 1 or greater than 9999.

または-or- month が 1 未満であるか、または 12 を超えています。month is less than 1 or greater than 12.

または-or- day が 1 未満であるか、または month の日数を超えています。day is less than 1 or greater than the number of days in month.

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

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

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

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

次の例では、DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)インスタンスを作成するコンス トラクター、DateTime値。The following example uses the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) constructor to instantiate a DateTime value.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 18, 500);
Console.WriteLine(date1.ToString("M/dd/yyyy h:mm:ss.fff tt"));
// The example displays the following output:
//      8/18/2010 4:32:18.500 PM
Dim date1 As New Date(2010, 8, 18, 16, 32, 18, 500)
Console.WriteLine(date1.ToString("M/dd/yyyy h:mm:ss.fff tt"))
' The example displays the following output:
'      8/18/2010 4:32:18.500 PM

注釈

このコンス トラクターは解釈yearmonth、およびday年、月、および構成のグレゴリオ暦カレンダーにおける日として。This constructor interpretsyear, month, and day as a year, month, and day in the Gregorian calendar. インスタンス化する、DateTime呼び出し、別の暦の年、月、日を使用して、値、DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)コンス トラクター。To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor.

Kind プロパティは Unspecified に初期化されます。The Kind property is initialized to Unspecified.

日付と時刻のデータまたはある程度までのタイム ゾーンの移植性の認識が重要なアプリケーションでは、対応するを使用できるDateTimeOffsetコンス トラクター。For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

こちらもご覧ください

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

DateTime 構造体の新しいインスタンスを、指定した年、月、日、時、分、秒、ミリ秒、および世界協定時刻 (UTC) または現地時刻に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * int * DateTimeKind -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, kind As DateTimeKind)

パラメーター

year
Int32 Int32 Int32 Int32

年 (1 から 9999)。The year (1 through 9999).

month
Int32 Int32 Int32 Int32

月 (1 ~ 12)。The month (1 through 12).

day
Int32 Int32 Int32 Int32

日付 (1 ~ month の日数)。The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

時間 (0 から 23)。The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

分 (0 から 59)。The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

秒 (0 から 59)。The seconds (0 through 59).

millisecond
Int32 Int32 Int32 Int32

ミリ秒 (0 から 999)。The milliseconds (0 through 999).

kind
DateTimeKind DateTimeKind DateTimeKind DateTimeKind

yearmonthdayhourminutesecond、および millisecond が、現地時刻、世界協定時刻 (UTC)、またはそのどちらでもない時刻のうち、どれを指定するかを示す列挙値の 1 つ。One of the enumeration values that indicates whether year, month, day, hour, minute, second, and millisecond specify a local time, Coordinated Universal Time (UTC), or neither.

例外

year が 1 未満であるか、または 9999 を超えています。year is less than 1 or greater than 9999.

または-or- month が 1 未満であるか、または 12 を超えています。month is less than 1 or greater than 12.

または-or- day が 1 未満であるか、または month の日数を超えています。day is less than 1 or greater than the number of days in month.

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

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

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

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

kindDateTimeKind 値のいずれでもありません。kind is not one of the DateTimeKind values.

次の例では、DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)インスタンスを作成するコンス トラクター、DateTime値。The following example uses the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) constructor to instantiate a DateTime value.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 18, 500, 
                              DateTimeKind.Local);
Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind);
// The example displays the following output:
//      8/18/2010 4:32:18.500 PM Local
Dim date1 As New Date(2010, 8, 18, 16, 32, 18, 500, DateTimeKind.Local)
Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind)
' The example displays the following output:
'      8/18/2010 4:32:18.500 PM Local

注釈

このコンス トラクターは解釈yearmonth、およびday年、月、および構成のグレゴリオ暦カレンダーにおける日として。This constructor interpretsyear, month, and day as a year, month, and day in the Gregorian calendar. インスタンス化する、DateTime呼び出し、別の暦の年、月、日を使用して、値、DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)コンス トラクター。To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor.

日付と時刻のデータまたはある程度までのタイム ゾーンの移植性の認識が重要なアプリケーションでは、対応するを使用できるDateTimeOffsetコンス トラクター。For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

DateTime 構造体の新しいインスタンスを、指定した暦の指定した年、月、日、時、分、秒、およびミリ秒に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond for the specified calendar.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, System::Globalization::Calendar ^ calendar);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, System.Globalization.Calendar calendar);
new DateTime : int * int * int * int * int * int * int * System.Globalization.Calendar -> DateTime

パラメーター

year
Int32 Int32 Int32 Int32

年 (1 から calendar の年数)。The year (1 through the number of years in calendar).

month
Int32 Int32 Int32 Int32

月 (1 から calendar の月数)。The month (1 through the number of months in calendar).

day
Int32 Int32 Int32 Int32

日付 (1 ~ month の日数)。The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

時間 (0 から 23)。The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

分 (0 から 59)。The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

秒 (0 から 59)。The seconds (0 through 59).

millisecond
Int32 Int32 Int32 Int32

ミリ秒 (0 から 999)。The milliseconds (0 through 999).

calendar
Calendar Calendar Calendar Calendar

yearmonth、および day を解釈するために使用される暦。The calendar that is used to interpret year, month, and day.

例外

yearcalendar でサポートされる範囲にありません。year is not in the range supported by calendar.

または-or- month は 1 未満か、calendar の月数を超えています。month is less than 1 or greater than the number of months in calendar.

または-or- day が 1 未満であるか、または month の日数を超えています。day is less than 1 or greater than the number of days in month.

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

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

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

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

次の例では、 DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) 2 つのインスタンスを作成するには、2 回コンス トラクターDateTime値。The following example calls the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor twice to instantiate two DateTime values. 最初の呼び出しをインスタンス化、DateTime値を使用して、PersianCalendarオブジェクト。The first call instantiates a DateTime value by using a PersianCalendar object. ペルシャ暦で日付を表示する個々 の呼び出しが必要ですペルシャ暦をカルチャの既定の暦として指定することはできません、ため、そのPersianCalendar.GetMonthPersianCalendar.GetDayOfMonth、およびPersianCalendar.GetYearメソッド。Because the Persian calendar cannot be designated as the default calendar for a culture, displaying a date in the Persian calendar requires individual calls to its PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, and PersianCalendar.GetYear methods. 2 番目のコンス トラクター呼び出しをインスタンス化、DateTime値を使用して、HijriCalendarオブジェクト。The second call to the constructor instantiates a DateTime value by using a HijriCalendar object. 例では、現在のカルチャをアラビア語 (シリア) に変更し、現在のカルチャの既定の暦を回教暦に変更します。The example changes the current culture to Arabic (Syria) and changes the current culture's default calendar to the Hijri calendar. イスラム暦が、現在のカルチャの既定の暦であるため、Console.WriteLineメソッドは、日付の書式設定を使用します。Because Hijri is the current culture's default calendar, the Console.WriteLine method uses it to format the date. (これは、英語 (米国) をここでは) 前の現在のカルチャが復元されると、Console.WriteLineメソッドでは、現在のカルチャの既定のグレゴリオ暦を使用して日付の書式設定します。When the previous current culture (which is English (United States) in this case) is restored, the Console.WriteLine method uses the current culture's default Gregorian calendar to format the date.

using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Using the Persian Calendar:");
      PersianCalendar persian = new PersianCalendar();
      DateTime date1 = new DateTime(1389, 5, 27, 16, 32, 18, 500, persian);
      Console.WriteLine(date1.ToString("M/dd/yyyy h:mm:ss.fff tt"));
      Console.WriteLine("{0}/{1}/{2} {3}{7}{4:D2}{7}{5:D2}.{6:G3}\n", 
                                       persian.GetMonth(date1), 
                                       persian.GetDayOfMonth(date1), 
                                       persian.GetYear(date1), 
                                       persian.GetHour(date1), 
                                       persian.GetMinute(date1), 
                                       persian.GetSecond(date1), 
                                       persian.GetMilliseconds(date1), 
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator);

      Console.WriteLine("Using the Hijri Calendar:");
      // Get current culture so it can later be restored.
      CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture;
      
      // Define strings for use in composite formatting.
      string dFormat; 
      string fmtString; 
      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY");
      CultureInfo current = CultureInfo.CurrentCulture;
      current.DateTimeFormat.Calendar = hijri;
      dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}";
      DateTime date2 = new DateTime(1431, 9, 9, 16, 32, 18, 500, hijri);
      Console.WriteLine(fmtString, current, GetCalendarName(hijri), date2);
      
      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern +" H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}";
      Console.WriteLine(fmtString, 
                        CultureInfo.CurrentCulture, 
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), 
                        date2); 
   }
   
   private static string GetCalendarName(Calendar cal)
   {
      return Regex.Match(cal.ToString(), "\\.(\\w+)Calendar").Groups[1].Value;
   }
}
// The example displays the following output:
//       8/18/2010 4:32:18.500 PM
//       5/27/1389 16:32:18.500
//       
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500
//       en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(1389, 5, 27, 16, 32, 18, 500, persian)
      Console.WriteLine(date1.ToString("M/dd/yyyy h:mm:ss.fff tt"))
      Console.WriteLine("{0}/{1}/{2} {3}{7}{4:D2}{7}{5:D2}.{6:G3}", _
                                       persian.GetMonth(date1), _
                                       persian.GetDayOfMonth(date1), _
                                       persian.GetYear(date1), _
                                       persian.GetHour(date1), _
                                       persian.GetMinute(date1), _
                                       persian.GetSecond(date1), _
                                       persian.GetMilliseconds(date1), _
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator)
      Console.WriteLine()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define strings for use in composite formatting.
      Dim dFormat As String 
      Dim fmtString As String 
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      current.DateTimeFormat.Calendar = hijri
      dFormat = current.DateTimeFormat.ShortDatePattern
      ' Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff"
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}"
      Dim date2 As New Date(1431, 9, 9, 16, 32, 18, 500, hijri)
      Console.WriteLine(fmtString, current, GetCalendarName(hijri), date2) 

      ' Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern +" H:mm:ss.fff"
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}"
      Console.WriteLine(fmtString, CultureInfo.CurrentCulture, _
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), _
                        date2) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' The example displays the following output:
'       Using the Persian Calendar:
'       8/18/2010 4:32:18.500 PM
'       5/27/1389 16:32:18.500
'       
'       Using the Hijri Calendar:
'       ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500
'       en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500

注釈

Kind プロパティは Unspecified に初期化されます。The Kind property is initialized to Unspecified.

使用できる値yearmonth、およびdayに依存してcalendarします。The allowable values for year, month, and day depend on calendar. 使用して、指定した日付と時刻を表現できない場合、例外がスローされますcalendarします。An exception is thrown if the specified date and time cannot be expressed using calendar.

日付と時刻のデータまたはある程度までのタイム ゾーンの移植性の認識が重要なアプリケーションでは、対応するを使用できるDateTimeOffsetコンス トラクター。For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

重要

和暦の時代 (年号) は天皇の代に基づいているため、変更されることが予想されます。Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. たとえば、JapaneseCalendarJapaneseLunisolarCalendar において、2019 年 5 月 1 日から令和時代が始まることになりました。For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. このような時代 (年号) の変更は、これらのカレンダーを使用するすべてのアプリケーションに影響します。Such a change of era affects all applications that use these calendars. 詳細については「.NET での日本語のカレンダーの新しい時代」をご覧いただき、アプリケーションが影響を受けるかどうかを判断します。See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. 日本語の時代の変更のためのアプリケーションの準備」をご覧いただき、時代の変更に対する状況を確認するために Windows システムでアプリケーションをテストします。See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. 複数の時代 (年号) を含むカレンダーをサポートしている .NET の機能や、複数の時代 (年号) をサポートしているカレンダーを操作する際のベスト プラクティスについては、「Working with eras (時代 (年号) の操作)」をご覧ください。See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

System.Globalization名前空間にはいくつかの予定表を含むGregorianCalendarJulianCalendarします。The System.Globalization namespace provides several calendars including GregorianCalendar and JulianCalendar.

こちらもご覧ください

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)

DateTime 構造体の新しいインスタンスを、指定した暦の指定した年、月、日、時、分、秒、ミリ秒、および世界協定時刻 (UTC) または現地時刻に初期化します。Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time for the specified calendar.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, System::Globalization::Calendar ^ calendar, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, System.Globalization.Calendar calendar, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * int * System.Globalization.Calendar * DateTimeKind -> DateTime

パラメーター

year
Int32 Int32 Int32 Int32

年 (1 から calendar の年数)。The year (1 through the number of years in calendar).

month
Int32 Int32 Int32 Int32

月 (1 から calendar の月数)。The month (1 through the number of months in calendar).

day
Int32 Int32 Int32 Int32

日付 (1 ~ month の日数)。The day (1 through the number of days in month).

hour
Int32 Int32 Int32 Int32

時間 (0 から 23)。The hours (0 through 23).

minute
Int32 Int32 Int32 Int32

分 (0 から 59)。The minutes (0 through 59).

second
Int32 Int32 Int32 Int32

秒 (0 から 59)。The seconds (0 through 59).

millisecond
Int32 Int32 Int32 Int32

ミリ秒 (0 から 999)。The milliseconds (0 through 999).

calendar
Calendar Calendar Calendar Calendar

yearmonth、および day を解釈するために使用される暦。The calendar that is used to interpret year, month, and day.

kind
DateTimeKind DateTimeKind DateTimeKind DateTimeKind

yearmonthdayhourminutesecond、および millisecond が、現地時刻、世界協定時刻 (UTC)、またはそのどちらでもない時刻のうち、どれを指定するかを示す列挙値の 1 つ。One of the enumeration values that indicates whether year, month, day, hour, minute, second, and millisecond specify a local time, Coordinated Universal Time (UTC), or neither.

例外

yearcalendar でサポートされる範囲にありません。year is not in the range supported by calendar.

または-or- month は 1 未満か、calendar の月数を超えています。month is less than 1 or greater than the number of months in calendar.

または-or- day が 1 未満であるか、または month の日数を超えています。day is less than 1 or greater than the number of days in month.

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

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

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

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

kindDateTimeKind 値のいずれでもありません。kind is not one of the DateTimeKind values.

次の例では、 DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) 2 つのインスタンスを作成するには、2 回コンス トラクターDateTime値。The following example calls the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor twice to instantiate two DateTime values. 最初の呼び出しをインスタンス化、DateTime値を使用して、PersianCalendarオブジェクト。The first call instantiates a DateTime value by using a PersianCalendar object. ペルシャ暦で日付を表示する個々 の呼び出しが必要ですペルシャ暦をカルチャの既定の暦として指定することはできません、ため、そのPersianCalendar.GetMonthPersianCalendar.GetDayOfMonth、およびPersianCalendar.GetYearメソッド。Because the Persian calendar cannot be designated as the default calendar for a culture, displaying a date in the Persian calendar requires individual calls to its PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, and PersianCalendar.GetYear methods. 2 番目のコンス トラクター呼び出しをインスタンス化、DateTime値を使用して、HijriCalendarオブジェクト。The second call to the constructor instantiates a DateTime value by using a HijriCalendar object. 例では、現在のカルチャをアラビア語 (シリア) に変更し、現在のカルチャの既定の暦を回教暦に変更します。The example changes the current culture to Arabic (Syria) and changes the current culture's default calendar to the Hijri calendar. イスラム暦が、現在のカルチャの既定の暦であるため、Console.WriteLineメソッドは、日付の書式設定を使用します。Because Hijri is the current culture's default calendar, the Console.WriteLine method uses it to format the date. (これは、英語 (米国) をここでは) 前の現在のカルチャが復元されると、Console.WriteLineメソッドでは、現在のカルチャの既定のグレゴリオ暦を使用して日付の書式設定します。When the previous current culture (which is English (United States) in this case) is restored, the Console.WriteLine method uses the current culture's default Gregorian calendar to format the date.

using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Using the Persian Calendar:");
      PersianCalendar persian = new PersianCalendar();
      DateTime date1 = new DateTime(1389, 5, 27, 16, 32, 18, 500, 
                                    persian, DateTimeKind.Local);
      Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind);
      Console.WriteLine("{0}/{1}/{2} {3}{8}{4:D2}{8}{5:D2}.{6:G3} {7}\n", 
                                       persian.GetMonth(date1), 
                                       persian.GetDayOfMonth(date1), 
                                       persian.GetYear(date1), 
                                       persian.GetHour(date1), 
                                       persian.GetMinute(date1), 
                                       persian.GetSecond(date1), 
                                       persian.GetMilliseconds(date1), 
                                       date1.Kind, 
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator);

      Console.WriteLine("Using the Hijri Calendar:");
      // Get current culture so it can later be restored.
      CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture;
      
      // Define strings for use in composite formatting.
      string dFormat; 
      string fmtString; 
      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY");
      CultureInfo current = CultureInfo.CurrentCulture;
      current.DateTimeFormat.Calendar = hijri;
      dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}";
      DateTime date2 = new DateTime(1431, 9, 9, 16, 32, 18, 500, 
                                    hijri, DateTimeKind.Local);
      Console.WriteLine(fmtString, current, GetCalendarName(hijri), 
                        date2, date2.Kind);
      
      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern +" H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}";
      Console.WriteLine(fmtString, 
                        CultureInfo.CurrentCulture, 
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), 
                        date2, date2.Kind); 
   }
   
   private static string GetCalendarName(Calendar cal)
   {
      return Regex.Match(cal.ToString(), "\\.(\\w+)Calendar").Groups[1].Value;
   }
}
// The example displays the following output:
//    Using the Persian Calendar:
//    8/18/2010 4:32:18.500 PM Local
//    5/27/1389 16:32:18.500 Local
//    
//    Using the Hijri Calendar:
//    ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500 Local
//    en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500 Local
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(1389, 5, 27, 16, 32, 18, 500, _
                            persian, DateTimeKind.Local)
      Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind)
      Console.WriteLine("{0}/{1}/{2} {3}{8}{4:D2}{8}{5:D2}.{6:G3} {7}", _
                                       persian.GetMonth(date1), _
                                       persian.GetDayOfMonth(date1), _
                                       persian.GetYear(date1), _
                                       persian.GetHour(date1), _
                                       persian.GetMinute(date1), _
                                       persian.GetSecond(date1), _
                                       persian.GetMilliseconds(date1), _
                                       date1.Kind, _
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator)
      Console.WriteLine()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define strings for use in composite formatting.
      Dim dFormat As String 
      Dim fmtString As String 
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      current.DateTimeFormat.Calendar = hijri
      dFormat = current.DateTimeFormat.ShortDatePattern
      ' Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff"
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}"
      Dim date2 As New Date(1431, 9, 9, 16, 32, 18, 500, _
                            hijri, DateTimeKind.Local)
      Console.WriteLine(fmtString, current, GetCalendarName(hijri), _
                        date2, date2.Kind) 

      ' Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern +" H:mm:ss.fff"
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}"
      Console.WriteLine(fmtString, CultureInfo.CurrentCulture, _
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), _
                        date2, date2.Kind) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' The example displays the following output:
'       Using the Persian Calendar:
'       8/18/2010 4:32:18.500 PM
'       5/27/1389 16:32:18.500
'       
'       Using the Hijri Calendar:
'       ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500
'       en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500

注釈

使用できる値yearmonth、およびdayパラメーターによって異なります、calendarパラメーター。The allowable values for year, month, and day parameters depend on the calendar parameter. 使用して、指定した日付と時刻を表現できない場合、例外がスローされますcalendarします。An exception is thrown if the specified date and time cannot be expressed using calendar.

日付と時刻のデータまたはある程度までのタイム ゾーンの移植性の認識が重要なアプリケーションでは、対応するを使用できるDateTimeOffsetコンス トラクター。For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.

重要

和暦の時代 (年号) は天皇の代に基づいているため、変更されることが予想されます。Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. たとえば、JapaneseCalendarJapaneseLunisolarCalendar において、2019 年 5 月 1 日から令和時代が始まることになりました。For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. このような時代 (年号) の変更は、これらのカレンダーを使用するすべてのアプリケーションに影響します。Such a change of era affects all applications that use these calendars. 詳細については「.NET での日本語のカレンダーの新しい時代」をご覧いただき、アプリケーションが影響を受けるかどうかを判断します。See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. 日本語の時代の変更のためのアプリケーションの準備」をご覧いただき、時代の変更に対する状況を確認するために Windows システムでアプリケーションをテストします。See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. 複数の時代 (年号) を含むカレンダーをサポートしている .NET の機能や、複数の時代 (年号) をサポートしているカレンダーを操作する際のベスト プラクティスについては、「Working with eras (時代 (年号) の操作)」をご覧ください。See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

System.Globalization名前空間にはいくつかの予定表を含むGregorianCalendarJulianCalendarします。The System.Globalization namespace provides several calendars including GregorianCalendar and JulianCalendar.

適用対象