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


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

Определение

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

Перегрузки

Имя Описание
DateTimeOffset(DateTime)

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

DateTimeOffset(DateTime, TimeSpan)

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

DateTimeOffset(Int64, TimeSpan)

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

DateTimeOffset(DateOnly, TimeOnly, TimeSpan)

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

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

Инициализирует новый экземпляр структуры с помощью указанного yearDateTimeOffset , , month, day, hour, secondminuteи offset.

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

Инициализирует новый экземпляр структуры с помощью указанного yearDateTimeOffset , , month, day, hour, secondminutemillisecondи offset.

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

Инициализирует новый экземпляр структуры с помощью указанного DateTimeOffsetyear, month, dayhour, , , secondminute, millisecondcalendarи .offset

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

Инициализирует новый экземпляр структуры с помощью указанного DateTimeOffsetyear, month, dayhour, , , secondminute, millisecondmicrosecondи .offset

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

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

DateTimeOffset(DateTime)

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

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

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.cs
Исходный код:
DateTimeOffset.cs

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

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 или ArgumentException вызываетсяDateTimeKind.Utc.

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

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

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

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

DateTimeOffset(Int64, TimeSpan)

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

Инициализирует новый экземпляр DateTimeOffset структуры с помощью указанного ticks числа и 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-наносекунд интервалов, прошедших с 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.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры с помощью указанного DateTimeOffsetdate, 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.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры с помощью указанного yearDateTimeOffset , , month, day, hour, secondminuteи 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).

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.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры с помощью указанного yearDateTimeOffset , , month, day, hour, secondminutemillisecondи 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).

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.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры с помощью указанного DateTimeOffsetyear, month, dayhour, , , secondminute, millisecondcalendarи .offset

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 или больше MaxSupportedDateTime.YearпараметраMinSupportedDateTime.Year.

-или-

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

-или-

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

-или-

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

-или-

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

-или-

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

-или-

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

-или-

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

-или-

monthЗначения yearдаты и 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, dayhoursecondminuteи 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.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры с помощью указанного DateTimeOffsetyear, month, dayhour, , , secondminute, 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.

Комментарии

Этот конструктор интерпретирует и daymonth в виде года, месяца и дня в григорианском yearкалендаре. Чтобы создать 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.cs
Исходный код:
DateTimeOffset.cs

Инициализирует новый экземпляр структуры с помощью указанного DateTimeOffsetyear, month, daysecondhourmillisecondmicrosecondminutecalendarи .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 часов.

-или-

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

-или-

Свойство UtcDateTime выше MinValue или более MaxValueпоздней версии.

Комментарии

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

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