Поделиться через


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

Определение

Инициализирует новый экземпляр структуры DateTimeOffset.

Перегрузки

DateTimeOffset(DateTime)

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного значения DateTime.

DateTimeOffset(DateTime, TimeSpan)

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного DateTime значения и смещения.

DateTimeOffset(Int64, TimeSpan)

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного числа тиков и смещения.

DateTimeOffset(DateOnly, TimeOnly, TimeSpan)

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного date, timeи offset.

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

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного года, месяца, дня, часа, минуты, секунды и смещения.

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

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного года, месяца, дня, часа, минуты, секунды, миллисекунда и смещения.

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

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного года, месяца, дня, часа, минуты, секунды, миллисекунда и смещения указанного календаря.

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

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного year, month, day, hour, minute, second, millisecond, microsecond и offset.

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

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного year, month, day, hour, minute, second, millisecond, microsecond и offset.

DateTimeOffset(DateTime)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного значения DateTime.

public:
 DateTimeOffset(DateTime dateTime);
public DateTimeOffset (DateTime dateTime);
new DateTimeOffset : DateTime -> DateTimeOffset
Public Sub New (dateTime As DateTime)

Параметры

dateTime
DateTime

Дата и время.

Исключения

Дата и время в формате UTC, полученные от применения смещения, ранее DateTimeOffset.MinValue.

-или-

Дата и время в формате UTC, результаты применения смещения позже, чем DateTimeOffset.MaxValue.

Примеры

В следующем примере показано, как значение свойства DateTime.Kind параметра dateTime влияет на значение даты и времени, возвращаемое этим конструктором.

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
let localNow = DateTime.Now
let localOffset = DateTimeOffset localNow
printfn $"{localOffset}"

let utcNow = DateTime.UtcNow
let utcOffset = DateTimeOffset utcNow
printfn "{utcOffset}"

let unspecifiedNow = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Unspecified)
let unspecifiedOffset = DateTimeOffset unspecifiedNow
printfn $"{unspecifiedOffset}"

// 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:

См. также раздел

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

DateTimeOffset(DateTime, TimeSpan)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного DateTime значения и смещения.

public:
 DateTimeOffset(DateTime dateTime, TimeSpan offset);
public DateTimeOffset (DateTime dateTime, TimeSpan offset);
new DateTimeOffset : DateTime * TimeSpan -> DateTimeOffset
Public Sub New (dateTime As DateTime, offset As TimeSpan)

Параметры

dateTime
DateTime

Дата и время.

offset
TimeSpan

Смещение времени от согласованного универсального времени (UTC).

Исключения

dateTime.Kind равно Utc и offset не равен нулю.

-или-

dateTime.Kind равно Local и offset не равно смещение локального часового пояса системы.

-или-

offset не указан в течение целых минут.

offset меньше -14 часов или больше 14 часов.

-или-

UtcDateTime меньше DateTimeOffset.MinValue или больше DateTimeOffset.MaxValue.

Примеры

В следующем примере показано, как инициализировать объект DateTimeOffset с датой и временем и смещением локального часового пояса, когда этот часовой пояс не известен заранее.

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
let localTime = DateTime(2007, 07, 12, 06, 32, 00)
let dateAndOffset = DateTimeOffset(localTime, TimeZoneInfo.Local.GetUtcOffset localTime)
printfn $"{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:

  • Если значение Kind равно DateTimeKind.Utc, значение параметра offset должно быть равно 0 или возникает ArgumentException.

  • Если значение Kind равно DateTimeKind.Local, значение параметра offset должно быть равно смещение локального часового пояса от согласованного универсального времени (UTC) для указанной даты или ArgumentException возникает.

  • Если значение Kind равно DateTimeKind.Unspecified, параметр offset может иметь любое допустимое значение.

См. также раздел

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

DateTimeOffset(Int64, TimeSpan)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного числа тиков и смещения.

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-наносекунд интервалов, прошедших с 12:00:00 полуночи 1 января 0001 года.

offset
TimeSpan

Смещение времени от согласованного универсального времени (UTC).

Исключения

offset не указан в течение целых минут.

Свойство UtcDateTime ранее DateTimeOffset.MinValue или более поздней версии, чем DateTimeOffset.MaxValue.

-или-

ticks меньше DateTimeOffset.MinValue.Ticks или больше DateTimeOffset.MaxValue.Ticks.

-или-

offset меньше -14 часов или больше 14 часов.

Примеры

В следующем примере инициализируется объект DateTimeOffset с помощью числа тиков в произвольной дате (в данном случае 16 июля 2007 г. в 1:32) с смещением –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
let dateWithoutOffset = DateTime(2007, 7, 16, 13, 32, 00)
let timeFromTicks = DateTimeOffset(dateWithoutOffset.Ticks, TimeSpan(-5, 0, 0))
printfn $"{timeFromTicks}"
// 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. Эту перегрузку конструктора DateTimeOffset можно использовать для обхода этого ограничения. В следующем примере используется количество тиков локального времени для создания экземпляра значения DateTimeOffset, смещение которого не обязательно представляет собой локальное время:

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
let localTime = DateTime.Now
let nonLocalDateWithOffset = DateTimeOffset(localTime.Ticks, TimeSpan(2, 0, 0))
printfn $"{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(DateOnly, TimeOnly, TimeSpan)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного date, timeи offset.

public:
 DateTimeOffset(DateOnly date, TimeOnly time, TimeSpan offset);
public DateTimeOffset (DateOnly date, TimeOnly time, TimeSpan offset);
new DateTimeOffset : DateOnly * TimeOnly * TimeSpan -> DateTimeOffset
Public Sub New (date As DateOnly, time As TimeOnly, offset As TimeSpan)

Параметры

date
DateOnly

Часть даты.

time
TimeOnly

Часть времени.

offset
TimeSpan

Смещение времени от согласованного универсального времени (UTC).

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

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

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного года, месяца, дня, часа, минуты, секунды и смещения.

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).

month
Int32

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

day
Int32

День (от 1 до количества дней в month).

hour
Int32

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

minute
Int32

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

second
Int32

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

offset
TimeSpan

Смещение времени от согласованного универсального времени (UTC).

Исключения

offset не представляет целых минут.

year меньше одного или больше 9999.

-или-

month меньше одного или более 12.

-или-

day меньше одного или больше, чем количество дней в month.

-или-

hour меньше нуля или больше 23.

-или-

minute меньше 0 или больше 59.

-или-

second меньше 0 или больше 59.

-или-

offset меньше -14 часов или больше 14 часов.

-или-

Свойство UtcDateTime ранее DateTimeOffset.MinValue или более поздней версии, чем DateTimeOffset.MaxValue.

Примеры

В следующем примере создается экземпляр объекта DateTimeOffset с помощью перегрузки конструктора DateTimeOffset.DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, TimeSpan).

   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
let specificDate = DateTime(2008, 5, 1, 06, 32, 00)
let offsetDate = DateTimeOffset(specificDate.Year,
                                specificDate.Month,
                                specificDate.Day,
                                specificDate.Hour,
                                specificDate.Minute,
                                specificDate.Second,
                                TimeSpan(-5, 0, 0))
printfn $"Current time: {offsetDate}"
printfn $"Corresponding UTC time: {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 в виде года, месяца и дня в григорианском календаре. Чтобы создать экземпляр значения DateTimeOffset с помощью года, месяца и дня в другом календаре, вызовите конструктор DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan).

См. также раздел

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

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

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного года, месяца, дня, часа, минуты, секунды, миллисекунда и смещения.

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).

month
Int32

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

day
Int32

День (от 1 до количества дней в month).

hour
Int32

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

minute
Int32

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

second
Int32

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

millisecond
Int32

Миллисекунда (от 0 до 999).

offset
TimeSpan

Смещение времени от согласованного универсального времени (UTC).

Исключения

offset не представляет целых минут.

year меньше одного или больше 9999.

-или-

month меньше одного или более 12.

-или-

day меньше одного или больше, чем количество дней в month.

-или-

hour меньше нуля или больше 23.

-или-

minute меньше 0 или больше 59.

-или-

second меньше 0 или больше 59.

-или-

millisecond меньше 0 или больше 999.

-или-

offset меньше -14 или больше 14.

-или-

Свойство UtcDateTime ранее DateTimeOffset.MinValue или более поздней версии, чем DateTimeOffset.MaxValue.

Примеры

В следующем примере создается экземпляр объекта DateTimeOffset с помощью перегрузки конструктора DateTimeOffset.DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, TimeSpan).

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
let fmt = "dd MMM yyyy HH:mm:ss"
let thisDate = DateTime(2007, 06, 12, 19, 00, 14, 16)
let offsetDate = DateTimeOffset(thisDate.Year,
                                thisDate.Month,
                                thisDate.Day,
                                thisDate.Hour,
                                thisDate.Minute,
                                thisDate.Second,
                                thisDate.Millisecond,
                                TimeSpan(2, 0, 0))
printfn $"Current time: {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 в виде года, месяца и дня в григорианском календаре. Чтобы создать экземпляр значения DateTimeOffset с помощью года, месяца и дня в другом календаре, вызовите конструктор DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan).

См. также раздел

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

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

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного года, месяца, дня, часа, минуты, секунды, миллисекунда и смещения указанного календаря.

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
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, calendar As Calendar, offset As TimeSpan)

Параметры

year
Int32

Год.

month
Int32

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

day
Int32

День (от 1 до количества дней в month).

hour
Int32

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

minute
Int32

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

second
Int32

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

millisecond
Int32

Миллисекунда (от 0 до 999).

calendar
Calendar

Календарь, используемый для интерпретации year, monthи day.

offset
TimeSpan

Смещение времени от согласованного универсального времени (UTC).

Исключения

offset не представляет целых минут.

calendar нельзя null.

year меньше MinSupportedDateTime.Year параметра calendar или больше MaxSupportedDateTime.Year.

-или-

month меньше или больше количества месяцев в year в calendar.

-или-

day меньше одного или больше, чем количество дней в month.

-или-

hour меньше нуля или больше 23.

-или-

minute меньше 0 или больше 59.

-или-

second меньше 0 или больше 59.

-или-

millisecond меньше 0 или больше 999.

-или-

offset меньше -14 часов или больше 14 часов.

-или-

Параметры year, monthи day нельзя представить как значение даты и времени.

-или-

Свойство UtcDateTime ранее DateTimeOffset.MinValue или более поздней версии, чем DateTimeOffset.MaxValue.

Примеры

В следующем примере экземпляры класса HebrewCalendar и класса HijriCalendar используются для создания экземпляра значения DateTimeOffset. Затем эта дата отображается в консоли с помощью соответствующих календарей и григорианского календаря.

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();
// Instantiate DateTimeOffset with Hebrew calendar
let year = 5770
let cal = HebrewCalendar()
let fmt = CultureInfo "he-IL"
fmt.DateTimeFormat.Calendar <- cal
let dateInCal = DateTimeOffset(year, 7, 12,
                               15, 30, 0, 0,
                               cal,
                               TimeSpan(2, 0, 0))
// Display the date in the Hebrew calendar
printfn $"Date in Hebrew Calendar: {dateInCal.ToString fmt:g}"
// Display the date in the Gregorian calendar
printfn $"Date in Gregorian Calendar: {dateInCal:g}\n"

// Instantiate DateTimeOffset with Hijri calendar
let year = 1431
let cal = HijriCalendar()
let fmt = CultureInfo "ar-SA"
fmt.DateTimeFormat.Calendar <- cal
let dateInCal = DateTimeOffset(year, 7, 12,
                               15, 30, 0, 0,
                               cal,
                               TimeSpan(2, 0, 0))
// Display the date in the Hijri calendar
printfn $"Date in Hijri Calendar: {dateInCal.ToString fmt:g}"
// Display the date in the Gregorian calendar
printfn $"Date in Gregorian Calendar: {dateInCal:g}\n"
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. Исключение возникает, если эти значения образуют дату и время, которые нельзя выразить с помощью этого календаря.

Важный

Эры в японских календарях основаны на царствии императора и поэтому, как ожидается, изменятся. Например, 1 мая 2019 г. отмечено начало эпохи Reiwa в JapaneseCalendar и JapaneseLunisolarCalendar. Такое изменение эпохи влияет на все приложения, использующие эти календари. Дополнительные сведения и сведения о том, затронуты ли ваши приложения, см. в статье Обработка новой эпохи в японском календаре в .NET. Сведения о тестировании приложений в системах Windows для обеспечения готовности к изменению эпохи см. в подготовке приложения для изменения японской эпохи. Функции в .NET, поддерживающие календари с несколькими эрами, и рекомендации по работе с календарями, поддерживающими несколько эпох, см. в разделе Работа с эрами.

См. также раздел

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

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

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного year, month, day, hour, minute, second, millisecond, microsecond и offset.

public:
 DateTimeOffset(int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, TimeSpan offset);
public DateTimeOffset (int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, TimeSpan offset);
new DateTimeOffset : int * 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, microsecond As Integer, offset As TimeSpan)

Параметры

year
Int32

Год (1–9999).

month
Int32

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

day
Int32

День (от 1 до количества дней в month).

hour
Int32

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

minute
Int32

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

second
Int32

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

millisecond
Int32

Миллисекунда (от 0 до 999).

microsecond
Int32

Микросекунда (от 0 до 999).

offset
TimeSpan

Смещение времени от согласованного универсального времени (UTC).

Исключения

offset не представляет целых минут.

year меньше 1 или больше 9999.

-или-

month меньше 1 или больше 12.

-или-

day меньше 1 или больше, чем количество дней в month.

-или-

hour меньше 0 или больше 23.

-или-

minute меньше 0 или больше 59.

-или-

second меньше 0 или больше 59.

-или-

millisecond меньше 0 или больше 999.

-или-

microsecond меньше 0 или больше 999.

Комментарии

Этот конструктор интерпретирует year, month и day в виде года, месяца и дня в григорианском календаре. Чтобы создать экземпляр значения DateTimeOffset с помощью года, месяца и дня в другом календаре, вызовите конструктор DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan).

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

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

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры DateTimeOffset с помощью указанного year, month, day, hour, minute, second, millisecond, microsecond и offset.

public:
 DateTimeOffset(int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, System::Globalization::Calendar ^ calendar, TimeSpan offset);
public DateTimeOffset (int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, System.Globalization.Calendar calendar, TimeSpan offset);
new DateTimeOffset : int * int * int * int * int * int * int * int * System.Globalization.Calendar * 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, microsecond As Integer, calendar As Calendar, offset As TimeSpan)

Параметры

year
Int32

Год (1–9999).

month
Int32

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

day
Int32

День (от 1 до количества дней в month).

hour
Int32

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

minute
Int32

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

second
Int32

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

millisecond
Int32

Миллисекунда (от 0 до 999).

microsecond
Int32

Микросекунда (от 0 до 999).

calendar
Calendar

Календарь, используемый для интерпретации year, monthи day.

offset
TimeSpan

Смещение времени от согласованного универсального времени (UTC).

Исключения

offset не представляет целых минут.

year не находится в диапазоне, поддерживаемом calendar.

-или-

month меньше 1 или больше количества месяцев в calendar.

-или-

day меньше 1 или больше, чем количество дней в month.

-или-

hour меньше 0 или больше 23.

-или-

minute меньше 0 или больше 59.

-или-

second меньше 0 или больше 59.

-или-

millisecond меньше 0 или больше 999.

-или-

microsecond меньше 0 или больше 999.

-или-

offset меньше -14 часов или больше 14 часов.

-или-

Параметры year, monthи day нельзя представить как значение даты и времени.

-или-

Свойство UtcDateTime ранее MinValue или более поздней версии, чем MaxValue.

Комментарии

Этот конструктор интерпретирует year, month и day в виде года, месяца и дня в григорианском календаре. Чтобы создать экземпляр значения DateTimeOffset с помощью года, месяца и дня в другом календаре, вызовите конструктор DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan).

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