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и offsetmicrosecond .

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

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

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 равно , значение offset параметра должно быть равно 0, иначе ArgumentExceptionDateTimeKind.Utcвозникает исключение .

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

  • Если значение 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-наносекундных интервалов, прошедших с 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 г., в 13: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 меньше заданного для параметра calendar значения MinSupportedDateTime.Year или больше чем 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.

Примеры

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

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 года в 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, millisecondmicrosecond и 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и offsetmicrosecond .

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и daymonth как год, месяц и день в григорианском календаре. Чтобы создать DateTimeOffset экземпляр значения с помощью года, месяца и дня в другом календаре DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan) , вызовите конструктор .

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