내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

DateTime 생성자 (Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

2013-12-13

DateTime 구조체의 새 인스턴스를 지정된 달력에서 지정된 연도, 월, 일, 시, 분, 초 및 밀리초로 초기화합니다.

Namespace:  System
어셈블리:  mscorlib(mscorlib.dll)

public DateTime(
	int year,
	int month,
	int day,
	int hour,
	int minute,
	int second,
	int millisecond,
	Calendar calendar
)

매개 변수

year
형식: System.Int32
연도(1부터 calendar에 있는 연도 수까지)
month
형식: System.Int32
월(1부터 calendar에 있는 월 수까지)
day
형식: System.Int32
일(1부터 month에 있는 날짜 수까지)
hour
형식: System.Int32
시(0부터 23까지)
minute
형식: System.Int32
분(0부터 59까지)
second
형식: System.Int32
초(0부터 59까지)
millisecond
형식: System.Int32
밀리초(0부터 999까지)
calendar
형식: System.Globalization.Calendar
year, monthday를 해석하는 데 사용되는 달력입니다.

예외조건
ArgumentNullException

calendarnull인 경우

ArgumentOutOfRangeException

yearcalendar에서 지원하는 범위 밖에 있는 경우

-또는-

month가 1보다 작거나 calendar의 월 수보다 큰 경우

-또는-

day가 1보다 작거나 month의 날짜 수보다 큰 경우

-또는-

hour가 0보다 작거나 23보다 큰 경우

-또는-

minute가 0보다 작거나 59보다 큰 경우

-또는-

second가 0보다 작거나 59보다 큰 경우

-또는-

millisecond가 0보다 작거나 999보다 큰 경우

Kind 속성이 Unspecified로 초기화됩니다.

year, monthday에 사용할 수 있는 값은 calendar에 따라 다릅니다. 지정된 날짜와 시간을 calendar를 사용하여 표시할 수 없으면 예외가 발생합니다.

표준 시간대 인식 제한 수준을 중요하게 고려해야 하는 응용프로그램의 경우 해당 DateTimeOffset 생성자를 사용할 수 있습니다.

System.Globalization 네임스페이스에는 GregorianCalendar, HebrewCalendar, HijriCalendarJapaneseCalendar를 포함하여 몇 가지 달력이 있습니다.

다음 예제에서는 DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) 생성자를 호출하고 HijriCalendar 개체를 사용하여 DateTime 값을 인스턴스화합니다. 그런 다음 회교식 달력의 DateTime 값을 두 가지 다른 방법으로 표시합니다. 현재 문화권은 회교식 달력을 지원하지 않기 때문에 해당 HijriCalendar.GetMonth, HijriCalendar.GetDayOfMonthHijriCalendar.GetYear 메서드를 개별적으로 호출함으로써 회교식 달력의 날짜를 표시합니다. 그런 후에 현재 문화권을 아랍어(시리아)로 변경하고 현재 문화권의 기본 달력을 회교식 달력으로 변경합니다. 이제 회교식 달력이 현재 문화권의 기본 달력이므로 String.Format 메서드에 의해 암시적으로 호출되는 ToString(String, IFormatProvider) 메서드는 회교식 달력을 사용하여 날짜 형식을 지정합니다. 이전의 현재 문화권(이 경우 영어(미국))이 복원되면 ToString(String, IFormatProvider) 메서드는 현재 문화권의 기본 그레고리오력을 사용하여 날짜 형식을 지정합니다.


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

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Define a date using the Hijri calendar.
      DateTime date1 = new DateTime(1431, 9, 9, 16, 32, 18, 500, hijri);

      outputBlock.Text += "Using the Hijri Calendar with the Default Culture:\n";
      outputBlock.Text += date1.ToString("M/dd/yyyy h:mm:ss.fff tt\n");
      outputBlock.Text += String.Format("{0}/{1}/{2} {3}:{4:D2}:{5:D2}.{6:G3}\n\n",
                                        hijri.GetMonth(date1),
                                        hijri.GetDayOfMonth(date1),
                                        hijri.GetYear(date1),
                                        hijri.GetHour(date1),
                                        hijri.GetMinute(date1),
                                        hijri.GetSecond(date1),
                                        hijri.GetMilliseconds(date1));

      // 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;
      // 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 + "}\n";
      outputBlock.Text += String.Format(fmtString, current, GetCalendarName(hijri), date1);

      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern + " H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}\n";
      outputBlock.Text += String.Format(fmtString,
                          CultureInfo.CurrentCulture,
                          GetCalendarName(CultureInfo.CurrentCulture.Calendar),
                          date1);
   }

   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


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시:
© 2014 Microsoft