DateTimeOffset Конструкторы

Определение

Инициализирует новый экземпляр структуры DateTimeOffset.Initializes a new instance of the DateTimeOffset structure.

Перегрузки

DateTimeOffset(DateTime)

Инициализирует новый экземпляр структуры DateTimeOffset с использованием заданного значения DateTime.Initializes a new instance of the DateTimeOffset structure using the specified DateTime value.

DateTimeOffset(DateTime, TimeSpan)

Инициализирует новый экземпляр структуры DateTimeOffset с использованием заданного значения DateTime и смещения.Initializes a new instance of the DateTimeOffset structure using the specified DateTime value and offset.

DateTimeOffset(Int64, TimeSpan)

Инициализирует новый экземпляр структуры DateTimeOffset с использованием заданного количества тактов и смещения.Initializes a new instance of the DateTimeOffset structure using the specified number of ticks and offset.

DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, TimeSpan)

Инициализирует новый экземпляр структуры DateTimeOffset, используя указанный год, месяц, день, час, минуту, секунду и смещение.Initializes a new instance of the DateTimeOffset structure using the specified year, month, day, hour, minute, second, and offset.

DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, TimeSpan)

Инициализирует новый экземпляр структуры DateTimeOffset, используя указанные год, месяц, день, час, минуту, секунду, миллисекунду и смещение.Initializes a new instance of the DateTimeOffset structure using the specified year, month, day, hour, minute, second, millisecond, and offset.

DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan)

Инициализирует новый экземпляр структуры DateTimeOffset, используя указанные год, месяц, день, час, минуту, секунду, миллисекунду и смещение для заданного календаря.Initializes a new instance of the DateTimeOffset structure using the specified year, month, day, hour, minute, second, millisecond, and offset of a specified calendar.

DateTimeOffset(DateTime)

Инициализирует новый экземпляр структуры DateTimeOffset с использованием заданного значения DateTime.Initializes a new instance of the DateTimeOffset structure using the specified DateTime value.

public:
 DateTimeOffset(DateTime dateTime);
public DateTimeOffset (DateTime dateTime);
new DateTimeOffset : DateTime -> DateTimeOffset

Параметры

dateTime
DateTime

Дата и время.A date and time.

Исключения

Дата и время в формате UTC, которые получаются в результате применения смещения, более раннего чем MinValue.The Coordinated Universal Time (UTC) date and time that results from applying the offset is earlier than MinValue.

- или --or- Дата и время в формате UTC, которые получаются в результате применения смещения, более позднего чем MaxValue.The UTC date and time that results from applying the offset is later than MaxValue.

Примеры

В следующем примере показано, как значение свойства DateTime.Kind параметра dateTime влияет на значение даты и времени, возвращаемое этим конструктором.The following example illustrates how the value of the DateTime.Kind property of the dateTime parameter affects the date and time value that is returned by this constructor.

DateTime localNow = DateTime.Now;
DateTimeOffset localOffset = new DateTimeOffset(localNow);
Console.WriteLine(localOffset.ToString());

DateTime utcNow = DateTime.UtcNow;
DateTimeOffset utcOffset = new DateTimeOffset(utcNow);
Console.WriteLine(utcOffset.ToString());

DateTime unspecifiedNow = DateTime.SpecifyKind(DateTime.Now, 
                               DateTimeKind.Unspecified);
DateTimeOffset unspecifiedOffset = new DateTimeOffset(unspecifiedNow);
Console.WriteLine(unspecifiedOffset.ToString());
//
// The code produces the following output if run on Feb. 23, 2007, on
// a system 8 hours earlier than UTC:
//   2/23/2007 4:21:58 PM -08:00
//   2/24/2007 12:21:58 AM +00:00
//   2/23/2007 4:21:58 PM -08:00      
Dim localNow As Date = Date.Now
Dim localOffset As New DateTimeOffset(localNow)
Console.WriteLine(localOffset.ToString())

Dim utcNow As Date = Date.UtcNow
Dim utcOffset As New DateTimeOffset(utcNow)
Console.WriteLine(utcOffset.ToString())

Dim unspecifiedNow As Date = Date.SpecifyKind(Date.Now, _
                                  DateTimeKind.Unspecified)
Dim unspecifiedOffset As New DateTimeOffset(unspecifiedNow)
Console.WriteLine(unspecifiedOffset.ToString())
'
' The code produces the following output if run on Feb. 23, 2007, on
' a system 8 hours earlier than UTC:
'    2/23/2007 4:21:58 PM -08:00
'    2/24/2007 12:21:58 AM +00:00
'    2/23/2007 4:21:58 PM -08:00      

Комментарии

Поведение этого конструктора зависит от значения свойства DateTime.Kind параметра dateTime:This constructor's behavior depends on the value of the DateTime.Kind property of the dateTime parameter:

Дополнительно

DateTimeOffset(DateTime, TimeSpan)

Инициализирует новый экземпляр структуры DateTimeOffset с использованием заданного значения DateTime и смещения.Initializes a new instance of the DateTimeOffset structure using the specified DateTime value and offset.

public:
 DateTimeOffset(DateTime dateTime, TimeSpan offset);
public DateTimeOffset (DateTime dateTime, TimeSpan offset);
new DateTimeOffset : DateTime * TimeSpan -> DateTimeOffset

Параметры

dateTime
DateTime

Дата и время.A date and time.

offset
TimeSpan

Смещение по времени от времени в формате UTC.The time's offset from Coordinated Universal Time (UTC).

Исключения

dateTime.Kind равно Utc, а offset не равно нулю.dateTime.Kind equals Utc and offset does not equal zero.

- или --or- dateTime.Kind равно Local, а offset не равно смещению местного часового пояса в системе.dateTime.Kind equals Local and offset does not equal the offset of the system's local time zone.

- или --or- offset не следует указывать в целых минутах.offset is not specified in whole minutes.

offset меньше -14 часов или больше 14 часов.offset is less than -14 hours or greater than 14 hours.

- или --or- Значение UtcDateTime меньше MinValue или больше MaxValue.UtcDateTime is less than MinValue or greater than MaxValue.

Примеры

В следующем примере показано, как инициализировать объект DateTimeOffset с датой и временем и смещением местного часового пояса, если этот часовой пояс не известен заранее.The following example shows how to initialize a DateTimeOffset object with a date and time and the offset of the local time zone when that time zone is not known in advance.

DateTime localTime = new DateTime(2007, 07, 12, 06, 32, 00); 
DateTimeOffset dateAndOffset = new DateTimeOffset(localTime, 
                         TimeZoneInfo.Local.GetUtcOffset(localTime));
Console.WriteLine(dateAndOffset);
// The code produces the following output:
//    7/12/2007 6:32:00 AM -07:00
Dim localTime As Date = #07/12/2007 6:32AM#
Dim dateAndOffset As New DateTimeOffset(localTime, _
                         TimeZoneInfo.Local.GetUtcOffset(localTime))
Console.WriteLine(dateAndOffset)
' The code produces the following output:
'    7/12/2007 6:32:00 AM -07:00

Комментарии

Поведение этого конструктора частично зависит от значения свойства Kind параметра dateTime:This constructor's behavior depends in part on the value of the Kind property of the dateTime parameter:

  • Если значение Kind равно DateTimeKind.Utc, то значение параметра offset должно быть равно 0 или выдается ArgumentException.If the value of Kind is DateTimeKind.Utc, the value of the offset parameter must be 0 or an ArgumentException is thrown.

  • Если значение Kind равно DateTimeKind.Local, то значение параметра offset должно быть равно смещению местного часового пояса относительно времени в формате UTC для этой конкретной даты или при возникновении ArgumentException.If the value of Kind is DateTimeKind.Local, the value of the offset parameter must be equal to the local time zone's offset from Coordinated Universal Time (UTC) for that particular date or an ArgumentException is thrown.

  • Если значение Kind равно DateTimeKind.Unspecified, то параметр offset может иметь любое допустимое значение.If the value of Kind is DateTimeKind.Unspecified, the offset parameter can have any valid value.

Дополнительно

DateTimeOffset(Int64, TimeSpan)

Инициализирует новый экземпляр структуры DateTimeOffset с использованием заданного количества тактов и смещения.Initializes a new instance of the DateTimeOffset structure using the specified number of ticks and offset.

public:
 DateTimeOffset(long ticks, TimeSpan offset);
public DateTimeOffset (long ticks, TimeSpan offset);
new DateTimeOffset : int64 * TimeSpan -> DateTimeOffset
Public Sub New (ticks As Long, offset As TimeSpan)

Параметры

ticks
Int64

Дата и время, представленные в виде числа 100-наносекундных интервалов, прошедших с 00:00 1 января 0001 г.A date and time expressed as the number of 100-nanosecond intervals that have elapsed since 12:00:00 midnight on January 1, 0001.

offset
TimeSpan

Смещение по времени от времени в формате UTC.The time's offset from Coordinated Universal Time (UTC).

Исключения

offset не указано в целых минутах.offset is not specified in whole minutes.

Свойство UtcDateTime является более ранним чем MinValue, или более поздним чем MaxValue.The UtcDateTime property is earlier than MinValue or later than MaxValue.

- или --or- Значение ticks меньше DateTimeOffset.MinValue.Ticks или больше DateTimeOffset.MaxValue.Ticks.ticks is less than DateTimeOffset.MinValue.Ticks or greater than DateTimeOffset.MaxValue.Ticks.

- или --or- Offset меньше -14 часов или больше 14 часов.Offset s less than -14 hours or greater than 14 hours.

Примеры

В следующем примере инициализируется объект DateTimeOffset с использованием числа тактов в произвольной дате (в данном случае 16 июля 2007, в 1:32 PM) со смещением-5.The following example initializes a DateTimeOffset object by using the number of ticks in an arbitrary date (in this case, July 16, 2007, at 1:32 PM) with an offset of -5.

DateTime dateWithoutOffset = new DateTime(2007, 7, 16, 13, 32, 00);
DateTimeOffset timeFromTicks = new DateTimeOffset(dateWithoutOffset.Ticks, 
                               new TimeSpan(-5, 0, 0));
Console.WriteLine(timeFromTicks.ToString());
// The code produces the following output:
//    7/16/2007 1:32:00 PM -05:00
Dim dateWithoutOffset As Date = #07/16/2007 1:32PM#
Dim timeFromTicks As New DateTimeOffset(datewithoutOffset.Ticks, _
                         New TimeSpan(-5, 0, 0))
Console.WriteLine(timeFromTicks.ToString())
' The code produces the following output:
'    7/16/2007 1:32:00 PM -05:00

Комментарии

Обычно при попытке вызвать конструктор DateTimeOffset для создания экземпляра DateTimeOffset с местным временем, а смещение, отличное от значения местного часового пояса, вызывает ArgumentException.Ordinarily, trying to call the DateTimeOffset constructor to instantiate a DateTimeOffset value with a local time and an offset other than that of the local time zone throws an ArgumentException. Эту перегрузку конструктора DateTimeOffset можно использовать для обхода этого ограничения.You can use this overload of the DateTimeOffset constructor to work around this limitation. В следующем примере число тактов в местном времени используется для создания экземпляра DateTimeOffset значения, смещение которого не обязательно отражается в местном времени:The following example uses the local time's number of ticks to instantiate a DateTimeOffset value whose offset does not necessarily represent that of the local time:

DateTime localTime = DateTime.Now;
DateTimeOffset nonLocalDateWithOffset = new DateTimeOffset(localTime.Ticks, 
                                  new TimeSpan(2, 0, 0));
Console.WriteLine(nonLocalDateWithOffset); 
//
// The code produces the following output if run on Feb. 23, 2007:
//    2/23/2007 4:37:50 PM +02:00
Dim localTime As Date = Date.Now
Dim nonLocalDateWithOffset As New DateTimeOffset(localTime.Ticks, _
                                  New TimeSpan(2, 0, 0))
Console.WriteLine(nonLocalDateWithOffset)                                        
'
' The code produces the following output if run on Feb. 23, 2007:
'    2/23/2007 4:37:50 PM +02:00

Дополнительно

DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, TimeSpan)

Инициализирует новый экземпляр структуры DateTimeOffset, используя указанный год, месяц, день, час, минуту, секунду и смещение.Initializes a new instance of the DateTimeOffset structure using the specified year, month, day, hour, minute, second, and offset.

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

Параметры

year
Int32

Год (от 1 до 9999).The year (1 through 9999).

month
Int32

Месяц (от 1 до 12).The month (1 through 12).

day
Int32

День (от 1 до количества дней в month).The day (1 through the number of days in month).

hour
Int32

Часы (от 0 до 23).The hours (0 through 23).

minute
Int32

Минуты (от 0 до 59).The minutes (0 through 59).

second
Int32

Секунды (от 0 до 59).The seconds (0 through 59).

offset
TimeSpan

Смещение по времени от времени в формате UTC.The time's offset from Coordinated Universal Time (UTC).

Исключения

Параметр offset не представляет целое количество минут.offset does not represent whole minutes.

Значение year меньше единицы или больше 9999.year is less than one or greater than 9999.

- или --or- Значение month меньше единицы или больше 12.month is less than one or greater than 12.

- или --or- Значение параметра day меньше единицы или больше чем число дней в параметре month.day is less than one or greater than the number of days in month.

- или --or- Значение параметра hour меньше нуля или больше 23.hour is less than zero 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- Значение параметра offset меньше –14 часов или больше 14 часов.offset is less than -14 hours or greater than 14 hours.

- или --or- Свойство UtcDateTime является более ранним чем MinValue, или более поздним чем MaxValue.The UtcDateTime property is earlier than MinValue or later than MaxValue.

Примеры

В следующем примере создается экземпляр DateTimeOffset объекта с помощью перегрузки конструктора DateTimeOffset.DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, TimeSpan).The following example instantiates a DateTimeOffset object by using the DateTimeOffset.DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, TimeSpan) constructor overload.

   DateTime specificDate = new DateTime(2008, 5, 1, 06, 32, 00); 
   DateTimeOffset offsetDate = new DateTimeOffset(specificDate.Year, 
                                   specificDate.Month, 
                                   specificDate.Day, 
                                   specificDate.Hour, 
                                   specificDate.Minute, 
                                   specificDate.Second, 
                                   new TimeSpan(-5, 0, 0));
   Console.WriteLine("Current time: {0}", offsetDate);
   Console.WriteLine("Corresponding UTC time: {0}", offsetDate.UtcDateTime);                                              
// The code produces the following output:
//    Current time: 5/1/2008 6:32:00 AM -05:00
//    Corresponding UTC time: 5/1/2008 11:32:00 AM      
   Dim specificDate As Date = #5/1/2008 6:32AM#
   Dim offsetDate As New DateTimeOffset(specificDate.Year, _
                                        specificDate.Month, _
                                        specificDate.Day, _
                                        specificDate.Hour, _
                                        specificDate.Minute, _
                                        specificDate.Second, _
                                        New TimeSpan(-5, 0, 0))
   Console.WriteLine("Current time: {0}", offsetDate)
   Console.WriteLine("Corresponding UTC time: {0}", offsetDate.UtcDateTime)                                              
' The code produces the following output:
'    Current time: 5/1/2008 6:32:00 AM -05:00
'    Corresponding UTC time: 5/1/2008 11:32:00 AM      

Комментарии

Этот конструктор интерпретирует year, monthи day как год, месяц и день в григорианском календаре.This constructor interprets year, month, and day as a year, month, and day in the Gregorian calendar. Чтобы создать экземпляр DateTimeOffsetного значения с помощью года, месяца и дня в другом календаре, вызовите конструктор DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan).To instantiate a DateTimeOffset value by using the year, month, and day in another calendar, call the DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan) constructor.

Дополнительно

DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, TimeSpan)

Инициализирует новый экземпляр структуры DateTimeOffset, используя указанные год, месяц, день, час, минуту, секунду, миллисекунду и смещение.Initializes a new instance of the DateTimeOffset structure using the specified year, month, day, hour, minute, second, millisecond, and offset.

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

Параметры

year
Int32

Год (от 1 до 9999).The year (1 through 9999).

month
Int32

Месяц (от 1 до 12).The month (1 through 12).

day
Int32

День (от 1 до количества дней в month).The day (1 through the number of days in month).

hour
Int32

Часы (от 0 до 23).The hours (0 through 23).

minute
Int32

Минуты (от 0 до 59).The minutes (0 through 59).

second
Int32

Секунды (от 0 до 59).The seconds (0 through 59).

millisecond
Int32

Миллисекунды (от 0 до 999).The milliseconds (0 through 999).

offset
TimeSpan

Смещение по времени от времени в формате UTC.The time's offset from Coordinated Universal Time (UTC).

Исключения

Параметр offset не представляет целое количество минут.offset does not represent whole minutes.

Значение year меньше единицы или больше 9999.year is less than one or greater than 9999.

- или --or- Значение month меньше единицы или больше 12.month is less than one or greater than 12.

- или --or- Значение параметра day меньше единицы или больше чем число дней в параметре month.day is less than one or greater than the number of days in month.

- или --or- Значение параметра hour меньше нуля или больше 23.hour is less than zero 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.

- или --or- Параметр offset меньше –14 или больше 14.offset is less than -14 or greater than 14.

- или --or- Свойство UtcDateTime является более ранним чем MinValue, или более поздним чем MaxValue.The UtcDateTime property is earlier than MinValue or later than MaxValue.

Примеры

В следующем примере создается экземпляр DateTimeOffset объекта с помощью перегрузки конструктора DateTimeOffset.DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, TimeSpan).The following example instantiates a DateTimeOffset object by using the DateTimeOffset.DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, TimeSpan) constructor overload.

string fmt = "dd MMM yyyy HH:mm:ss";
DateTime thisDate = new DateTime(2007, 06, 12, 19, 00, 14, 16);
DateTimeOffset offsetDate = new DateTimeOffset(thisDate.Year, 
                                               thisDate.Month, 
                                               thisDate.Day, 
                                               thisDate.Hour,
                                               thisDate.Minute,
                                               thisDate.Second,
                                               thisDate.Millisecond, 
                                               new TimeSpan(2, 0, 0));  
Console.WriteLine("Current time: {0}:{1}", offsetDate.ToString(fmt), offsetDate.Millisecond);
// The code produces the following output:
//    Current time: 12 Jun 2007 19:00:14:16      
Dim fmt As String = "dd MMM yyyy HH:mm:ss"
Dim thisDate As DateTime = New Date(2007, 06, 12, 19, 00, 14, 16)
Dim offsetDate As New DateTimeOffset(thisDate.Year, _
                                     thisDate.Month, _
                                     thisDate.Day, _
                                     thisDate.Hour, _
                                     thisDate.Minute, _
                                     thisDate.Second, _
                                     thisDate.Millisecond, _ 
                                     New TimeSpan(2, 0, 0))  
Console.WriteLine("Current time: {0}:{1}", offsetDate.ToString(fmt), _ 
                                           offsetDate.Millisecond)
' The code produces the following output:
'    Current time: 12 Jun 2007 19:00:14:16      

Комментарии

Этот конструктор интерпретирует year, monthи day как год, месяц и день в григорианском календаре.This constructor interprets year, month, and day as a year, month, and day in the Gregorian calendar. Чтобы создать экземпляр DateTimeOffsetного значения с помощью года, месяца и дня в другом календаре, вызовите конструктор DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan).To instantiate a DateTimeOffset value by using the year, month, and day in another calendar, call the DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan) constructor.

Дополнительно

DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan)

Инициализирует новый экземпляр структуры DateTimeOffset, используя указанные год, месяц, день, час, минуту, секунду, миллисекунду и смещение для заданного календаря.Initializes a new instance of the DateTimeOffset structure using the specified year, month, day, hour, minute, second, millisecond, and offset of a specified calendar.

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

Параметры

year
Int32

Год.The year.

month
Int32

Месяц (от 1 до 12).The month (1 through 12).

day
Int32

День (от 1 до количества дней в month).The day (1 through the number of days in month).

hour
Int32

Часы (от 0 до 23).The hours (0 through 23).

minute
Int32

Минуты (от 0 до 59).The minutes (0 through 59).

second
Int32

Секунды (от 0 до 59).The seconds (0 through 59).

millisecond
Int32

Миллисекунды (от 0 до 999).The milliseconds (0 through 999).

calendar
Calendar

Календарь, используемый для анализа параметров year, month и day.The calendar that is used to interpret year, month, and day.

offset
TimeSpan

Смещение по времени от времени в формате UTC.The time's offset from Coordinated Universal Time (UTC).

Исключения

Параметр offset не представляет целое количество минут.offset does not represent whole minutes.

Параметр calendar не может иметь значение null.calendar cannot be null.

Значение параметра year меньше заданного для параметра calendar значения MinSupportedDateTime.Year или больше чем MaxSupportedDateTime.Year.year is less than the calendar parameter's MinSupportedDateTime.Year or greater than MaxSupportedDateTime.Year.

- или --or- Значение параметра month меньше или больше чем число месяцев, заданное в параметре year параметра calendar.month is either less than or greater than the number of months in year in the calendar.

- или --or- Значение параметра day меньше единицы или больше чем число дней в параметре month.day is less than one or greater than the number of days in month.

- или --or- Значение параметра hour меньше нуля или больше 23.hour is less than zero 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.

- или --or- Значение параметра offset меньше –14 часов или больше 14 часов.offset is less than -14 hours or greater than 14 hours.

- или --or- Параметры year, month и day не удается представить как значения типа даты и времени.The year, month, and day parameters cannot be represented as a date and time value.

- или --or- Свойство UtcDateTime является более ранним чем MinValue, или более поздним чем MaxValue.The UtcDateTime property is earlier than MinValue or later than MaxValue.

Примеры

В следующем примере используются экземпляры класса HebrewCalendar и класса HijriCalendar для создания экземпляра значения DateTimeOffset.The following example uses instances of both the HebrewCalendar class and the HijriCalendar class to instantiate a DateTimeOffset value. Затем эта дата отображается в консоли с помощью соответствующих календарей и григорианского календаря.That date is then displayed to the console using the respective calendars and the Gregorian calendar.

CultureInfo fmt;
int year; 
Calendar cal;
DateTimeOffset dateInCal;

// Instantiate DateTimeOffset with Hebrew calendar
year = 5770;
cal = new HebrewCalendar();
fmt = new CultureInfo("he-IL");
fmt.DateTimeFormat.Calendar = cal;      
dateInCal = new DateTimeOffset(year, 7, 12, 
                               15, 30, 0, 0, 
                               cal, 
                               new TimeSpan(2, 0, 0));
// Display the date in the Hebrew calendar
Console.WriteLine("Date in Hebrew Calendar: {0:g}", 
                   dateInCal.ToString(fmt));
// Display the date in the Gregorian calendar                         
Console.WriteLine("Date in Gregorian Calendar: {0:g}", dateInCal);
Console.WriteLine();

// Instantiate DateTimeOffset with Hijri calendar
year = 1431;
cal = new HijriCalendar();
fmt = new CultureInfo("ar-SA");
fmt.DateTimeFormat.Calendar = cal;
dateInCal = new DateTimeOffset(year, 7, 12, 
                               15, 30, 0, 0, 
                               cal, 
                               new TimeSpan(2, 0, 0));
// Display the date in the Hijri calendar
Console.WriteLine("Date in Hijri Calendar: {0:g}", 
                   dateInCal.ToString(fmt));
// Display the date in the Gregorian calendar                         
Console.WriteLine("Date in Gregorian Calendar: {0:g}", dateInCal);
Console.WriteLine();
Dim fmt As CultureInfo
Dim year As Integer
Dim cal As Calendar
Dim dateInCal As DateTimeOffset

' Instantiate DateTimeOffset with Hebrew calendar
year = 5770
cal = New HebrewCalendar()
fmt = New CultureInfo("he-IL")
fmt.DateTimeFormat.Calendar = cal      
dateInCal = New DateTimeOffset(year, 7, 12, _
                               15, 30, 0, 0, _
                               cal, _
                               New TimeSpan(2, 0, 0))
' Display the date in the Hebrew calendar
Console.WriteLine("Date in Hebrew Calendar: {0:g}", _
                   dateInCal.ToString(fmt))
' Display the date in the Gregorian calendar                         
Console.WriteLine("Date in Gregorian Calendar: {0:g}", dateInCal)
Console.WriteLine()

' Instantiate DateTimeOffset with Hijri calendar
year = 1431
cal = New HijriCalendar()
fmt = New CultureInfo("ar-SA")
fmt.DateTimeFormat.Calendar = cal
dateInCal = New DateTimeOffset(year, 7, 12, _
                               15, 30, 0, 0, _
                               cal, _
                               New TimeSpan(2, 0, 0))
' Display the date in the Hijri calendar
Console.WriteLine("Date in Hijri Calendar: {0:g}", _
                   dateInCal.ToString(fmt))
' Display the date in the Gregorian calendar                         
Console.WriteLine("Date in Gregorian Calendar: {0:g}", dateInCal)
Console.WriteLine()

Комментарии

Параметры year, month, day, hour, minute, secondи millisecond соответствуют значениям, выраженным в календаре, указанном параметром calendar.The year, month, day, hour, minute, second, and millisecond parameters all reflect values expressed in the calendar specified by the calendar parameter. Исключение возникает, если эти значения формируют дату и время, которые не могут быть выражены с помощью этого календаря.An exception is thrown if these values form a date and time that cannot be expressed by using this calendar.

Важно!

Эры в японских календарях основаны на периодах царствования императоров. Таким образом, ожидается наступление новой эры.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. Например, 1 мая 2019 года в JapaneseCalendar и JapaneseLunisolarCalendar отмечено как начало эры Рэйва.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, которые поддерживают календарь с несколькими эрами, и рекомендации по использованию таких календарей см. в разделе о работе с эрами.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.

Дополнительно

Применяется к