DateTimeOffset Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр структуры DateTimeOffset.
Перегрузки
DateTimeOffset(DateTime) |
Инициализирует новый экземпляр структуры DateTimeOffset с использованием заданного значения DateTime. |
DateTimeOffset(DateTime, TimeSpan) |
Инициализирует новый экземпляр структуры DateTimeOffset с использованием заданного значения DateTime и смещения. |
DateTimeOffset(Int64, TimeSpan) |
Инициализирует новый экземпляр структуры DateTimeOffset с использованием заданного количества тактов и смещения. |
DateTimeOffset(DateOnly, TimeOnly, TimeSpan) |
Инициализирует новый экземпляр DateTimeOffset структуры, используя указанные |
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 структуры, используя указанные |
DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan) |
Инициализирует новый экземпляр DateTimeOffset структуры, используя указанные |
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
параметра :
Если значение равно DateTimeKind.Utc, свойство нового экземпляра DateTime.Kind задается равным
dateTime
, а Offset свойство равно ZeroDateTime .Если значение равно или , свойство нового экземпляра DateTime.Kind задается равным
dateTime
, а Offset свойство равно смещению текущего часового пояса локальной системы.DateTimeDateTimeKind.UnspecifiedDateTimeKind.Local
См. также раздел
Применяется к
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
, 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
и offset
microsecond
.
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
и day
month
как год, месяц и день в григорианском календаре. Чтобы создать DateTimeOffset экземпляр значения с помощью года, месяца и дня в другом календаре DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan) , вызовите конструктор .
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по