Прочитать на английском

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


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

Определение

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

Перегрузки

DateTime(Int64)

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

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты, секунды и миллисекунды, а также временем UTC или местным временем для заданного календаря.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты, секунды и миллисекунды, а также временем UTC или местным временем для заданного календаря.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты, секунды и миллисекунды, а также временем UTC или местным временем для заданного календаря.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты, секунды и миллисекунды, а также временем UTC или местным временем для заданного календаря.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

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

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты, секунды и миллисекунды, а также временем UTC или местным временем.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

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

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты, секунды и миллисекунды, а также временем UTC или местным временем для заданного календаря.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты и секунды, а также временем UTC или местным временем.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32)

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

DateTime(Int32, Int32, Int32, Calendar)

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

DateTime(Int32, Int32, Int32)

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

DateTime(DateOnly, TimeOnly, DateTimeKind)

Инициализирует новый экземпляр DateTime структуры указанным DateOnly и TimeOnly с учетом указанного DateTimeKind.

DateTime(Int64, DateTimeKind)

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

DateTime(DateOnly, TimeOnly)

Инициализирует новый экземпляр DateTime структуры заданными DateOnly и TimeOnly. Новый экземпляр будет иметь Unspecified тип .

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

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

DateTime(Int64)

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

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

public DateTime (long ticks);

Параметры

ticks
Int64

Дата и время, представленные в виде нескольких 100-наносекундных интервалов, завершившихся с момента 00:00:00.000 1 января 0001 г. по григорианскому календарю.

Исключения

ticks значение меньше DateTime.MinValue или больше DateTime.MaxValue.

Примеры

В следующем примере показан один из DateTime конструкторов.

// This example demonstrates the DateTime(Int64) constructor.
using System;
using System.Globalization;

class Sample
{
    public static void Main()
    {
// Instead of using the implicit, default "G" date and time format string, we
// use a custom format string that aligns the results and inserts leading zeroes.
    string format = "{0}) The {1} date and time is {2:MM/dd/yyyy hh:mm:ss tt}";

// Create a DateTime for the maximum date and time using ticks.
    DateTime dt1 = new DateTime(DateTime.MaxValue.Ticks);

// Create a DateTime for the minimum date and time using ticks.
    DateTime dt2 = new DateTime(DateTime.MinValue.Ticks);

// Create a custom DateTime for 7/28/1979 at 10:35:05 PM using a
// calendar based on the "en-US" culture, and ticks.
    long ticks = new DateTime(1979, 07, 28, 22, 35, 5,
    new CultureInfo("en-US", false).Calendar).Ticks;
    DateTime dt3 = new DateTime(ticks);

    Console.WriteLine(format, 1, "maximum", dt1);
    Console.WriteLine(format, 2, "minimum", dt2);
    Console.WriteLine(format, 3, "custom ", dt3);
    Console.WriteLine("\nThe custom date and time is created from {0:N0} ticks.", ticks);
    }
}
/*
This example produces the following results:

1) The maximum date and time is 12/31/9999 11:59:59 PM
2) The minimum date and time is 01/01/0001 12:00:00 AM
3) The custom  date and time is 07/28/1979 10:35:05 PM

The custom date and time is created from 624,376,461,050,000,000 ticks.

*/

Комментарии

Свойство Kind инициализировано значением параметра Unspecified.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

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

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты, секунды и миллисекунды, а также временем UTC или местным временем для заданного календаря.

public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, System.Globalization.Calendar calendar);

Параметры

year
Int32

Год (от 1 до количества лет в calendar).

month
Int32

Месяц (от 1 до количества месяцев в calendar).

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.

Исключения

calendar имеет значение null.

year не принадлежит к диапазону, поддерживаемому calendar.

-или-

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

-или-

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

-или-

Параметр hour меньше 0 или больше 23.

-или-

Параметр minute меньше 0 или больше 59.

-или-

Параметр second меньше 0 или больше 59.

-или-

Параметр millisecond имеет значение меньше 0 или больше 999.

-или-

Параметр microsecond имеет значение меньше 0 или больше 999.

Комментарии

Допустимые значения для yearпараметров , monthи day зависят calendar от параметра . Исключение возникает, если указанные дату и время не могут быть выражены с помощью calendar.

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

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

.NET 9 и другие версии
Продукт Версии
.NET 7, 8, 9

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

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

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты, секунды и миллисекунды, а также временем UTC или местным временем для заданного календаря.

public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, DateTimeKind kind);

Параметры

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

kind
DateTimeKind

Одно из значений перечисления, указывающее, что задают параметры year, month, day, hour, minute, second и millisecond: локальное время, универсальное глобальное время (UTC), или ни то, ни другое.

Исключения

Параметр year меньше 1 или больше 9999.

-или-

Параметр month имеет значение меньше 1 или больше 12.

-или-

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

-или-

Параметр hour меньше 0 или больше 23.

-или-

Параметр minute меньше 0 или больше 59.

-или-

Параметр second меньше 0 или больше 59.

-или-

Параметр millisecond имеет значение меньше 0 или больше 999.

-или-

Параметр microsecond имеет значение меньше 0 или больше 999.

kind не является одним из значений DateTimeKind.

Комментарии

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET 7, 8, 9

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)

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

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты, секунды и миллисекунды, а также временем UTC или местным временем для заданного календаря.

public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, System.Globalization.Calendar calendar, DateTimeKind kind);

Параметры

year
Int32

Год (от 1 до количества лет в calendar).

month
Int32

Месяц (от 1 до количества месяцев в calendar).

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.

kind
DateTimeKind

Одно из значений перечисления, указывающее, что задают параметры year, month, day, hour, minute, second и millisecond: локальное время, универсальное глобальное время (UTC), или ни то, ни другое.

Исключения

calendar имеет значение null.

year не принадлежит к диапазону, поддерживаемому calendar.

-или-

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

-или-

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

-или-

Параметр hour меньше 0 или больше 23.

-или-

Параметр minute меньше 0 или больше 59.

-или-

Параметр second меньше 0 или больше 59.

-или-

Параметр millisecond имеет значение меньше 0 или больше 999.

kind не является одним из значений DateTimeKind.

Примеры

В следующем примере конструктор вызывается DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) дважды для создания экземпляра двух DateTime значений. При первом вызове DateTime создается экземпляр значения с помощью PersianCalendar объекта . Так как персидский календарь не может быть назначен календарем по умолчанию для языка и региональных параметров, отображение даты в персидском календаре требует отдельных вызовов методов PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonthи PersianCalendar.GetYear . Второй вызов конструктора создает DateTime экземпляр значения с помощью HijriCalendar объекта . В этом примере изменяется текущий язык и региональные параметры на арабский (Сирия), а календарь текущего языка и региональных параметров по умолчанию — на календарь хиджра. Так как хиджра является календарем по умолчанию для текущего языка и региональных параметров, Console.WriteLine метод использует его для форматирования даты. При восстановлении Console.WriteLine предыдущего текущего языка и региональных параметров (в данном случае это английский (США) метод использует григорианский календарь текущего языка и региональных параметров по умолчанию для форматирования даты.

using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Using the Persian Calendar:");
      PersianCalendar persian = new PersianCalendar();
      DateTime date1 = new DateTime(1389, 5, 27, 16, 32, 18, 500,
                                    persian, DateTimeKind.Local);
      Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind);
      Console.WriteLine("{0}/{1}/{2} {3}{8}{4:D2}{8}{5:D2}.{6:G3} {7}\n",
                                       persian.GetMonth(date1),
                                       persian.GetDayOfMonth(date1),
                                       persian.GetYear(date1),
                                       persian.GetHour(date1),
                                       persian.GetMinute(date1),
                                       persian.GetSecond(date1),
                                       persian.GetMilliseconds(date1),
                                       date1.Kind,
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator);

      Console.WriteLine("Using the Hijri Calendar:");
      // Get current culture so it can later be restored.
      CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture;

      // Define strings for use in composite formatting.
      string dFormat;
      string fmtString;
      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY");
      CultureInfo current = CultureInfo.CurrentCulture;
      current.DateTimeFormat.Calendar = hijri;
      dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}";
      DateTime date2 = new DateTime(1431, 9, 9, 16, 32, 18, 500,
                                    hijri, DateTimeKind.Local);
      Console.WriteLine(fmtString, current, GetCalendarName(hijri),
                        date2, date2.Kind);

      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern +" H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}";
      Console.WriteLine(fmtString,
                        CultureInfo.CurrentCulture,
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar),
                        date2, date2.Kind);
   }

   private static string GetCalendarName(Calendar cal)
   {
      return Regex.Match(cal.ToString(), "\\.(\\w+)Calendar").Groups[1].Value;
   }
}
// The example displays the following output:
//    Using the Persian Calendar:
//    8/18/2010 4:32:18.500 PM Local
//    5/27/1389 16:32:18.500 Local
//
//    Using the Hijri Calendar:
//    ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500 Local
//    en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500 Local

Комментарии

Допустимые значения для yearпараметров , monthи day зависят calendar от параметра . Исключение возникает, если указанные дата и время не могут быть выражены с помощью calendar.

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

Важно!

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

Пространство System.Globalization имен предоставляет несколько календарей, включая GregorianCalendar и JulianCalendar.

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

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

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

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты, секунды и миллисекунды, а также временем UTC или местным временем для заданного календаря.

public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond);

Параметры

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

Исключения

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

Свойство Kind инициализировано значением параметра Unspecified.

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

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

.NET 9 и другие версии
Продукт Версии
.NET 7, 8, 9

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

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

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

public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, System.Globalization.Calendar calendar);

Параметры

year
Int32

Год (от 1 до количества лет в calendar).

month
Int32

Месяц (от 1 до количества месяцев в calendar).

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.

Исключения

calendar имеет значение null.

year не принадлежит к диапазону, поддерживаемому calendar.

-или-

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

-или-

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

-или-

Параметр hour меньше 0 или больше 23.

-или-

Параметр minute меньше 0 или больше 59.

-или-

Параметр second меньше 0 или больше 59.

-или-

Параметр millisecond имеет значение меньше 0 или больше 999.

Примеры

В следующем примере конструктор вызывается DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) дважды для создания экземпляра двух DateTime значений. При первом вызове DateTime создается экземпляр значения с помощью PersianCalendar объекта . Так как персидский календарь не может быть назначен календарем по умолчанию для языка и региональных параметров, отображение даты в персидском календаре требует отдельных вызовов методов PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonthи PersianCalendar.GetYear . Второй вызов конструктора создает DateTime экземпляр значения с помощью HijriCalendar объекта . В этом примере изменяется текущий язык и региональные параметры на арабский (Сирия), а календарь текущего языка и региональных параметров по умолчанию — на календарь хиджра. Так как хиджра является календарем по умолчанию для текущего языка и региональных параметров, Console.WriteLine метод использует его для форматирования даты. При восстановлении Console.WriteLine предыдущего текущего языка и региональных параметров (в данном случае это английский (США) метод использует григорианский календарь текущего языка и региональных параметров по умолчанию для форматирования даты.

using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Using the Persian Calendar:");
      PersianCalendar persian = new PersianCalendar();
      DateTime date1 = new DateTime(1389, 5, 27, 16, 32, 18, 500, persian);
      Console.WriteLine(date1.ToString("M/dd/yyyy h:mm:ss.fff tt"));
      Console.WriteLine("{0}/{1}/{2} {3}{7}{4:D2}{7}{5:D2}.{6:G3}\n",
                                       persian.GetMonth(date1),
                                       persian.GetDayOfMonth(date1),
                                       persian.GetYear(date1),
                                       persian.GetHour(date1),
                                       persian.GetMinute(date1),
                                       persian.GetSecond(date1),
                                       persian.GetMilliseconds(date1),
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator);

      Console.WriteLine("Using the Hijri Calendar:");
      // Get current culture so it can later be restored.
      CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture;

      // Define strings for use in composite formatting.
      string dFormat;
      string fmtString;
      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY");
      CultureInfo current = CultureInfo.CurrentCulture;
      current.DateTimeFormat.Calendar = hijri;
      dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}";
      DateTime date2 = new DateTime(1431, 9, 9, 16, 32, 18, 500, hijri);
      Console.WriteLine(fmtString, current, GetCalendarName(hijri), date2);

      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern +" H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}";
      Console.WriteLine(fmtString,
                        CultureInfo.CurrentCulture,
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar),
                        date2);
   }

   private static string GetCalendarName(Calendar cal)
   {
      return Regex.Match(cal.ToString(), "\\.(\\w+)Calendar").Groups[1].Value;
   }
}
// The example displays the following output:
//       8/18/2010 4:32:18.500 PM
//       5/27/1389 16:32:18.500
//
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500
//       en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500

Комментарии

Свойство Kind инициализировано значением параметра Unspecified.

Допустимые значения для year, monthи day зависят от calendar. Исключение возникает, если указанные дату и время не могут быть выражены с помощью calendar.

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

Важно!

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

Пространство System.Globalization имен предоставляет несколько календарей, включая GregorianCalendar и JulianCalendar.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

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

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты, секунды и миллисекунды, а также временем UTC или местным временем.

public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind);

Параметры

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

kind
DateTimeKind

Одно из значений перечисления, указывающее, что задают параметры year, month, day, hour, minute, second и millisecond: локальное время, универсальное глобальное время (UTC), или ни то, ни другое.

Исключения

Параметр year меньше 1 или больше 9999.

-или-

Параметр month имеет значение меньше 1 или больше 12.

-или-

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

-или-

Параметр hour меньше 0 или больше 23.

-или-

Параметр minute меньше 0 или больше 59.

-или-

Параметр second меньше 0 или больше 59.

-или-

Параметр millisecond имеет значение меньше 0 или больше 999.

kind не является одним из значений DateTimeKind.

Примеры

В следующем примере конструктор используется DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) для создания экземпляра DateTime значения.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 18, 500,
                              DateTimeKind.Local);
Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind);
// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:18.500 PM Local

Комментарии

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

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

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

public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond);

Параметры

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

Исключения

Параметр year меньше 1 или больше 9999.

-или-

Параметр month имеет значение меньше 1 или больше 12.

-или-

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

-или-

Параметр hour меньше 0 или больше 23.

-или-

Параметр minute меньше 0 или больше 59.

-или-

Параметр second меньше 0 или больше 59.

-или-

Параметр millisecond имеет значение меньше 0 или больше 999.

Примеры

В следующем примере конструктор используется DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) для создания экземпляра DateTime значения.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 18, 500);
Console.WriteLine(date1.ToString("M/dd/yyyy h:mm:ss.fff tt"));
// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:18.500 PM

Комментарии

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

Свойство Kind инициализировано значением параметра Unspecified.

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)

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

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты, секунды и миллисекунды, а также временем UTC или местным временем для заданного календаря.

public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, System.Globalization.Calendar calendar, DateTimeKind kind);

Параметры

year
Int32

Год (от 1 до количества лет в calendar).

month
Int32

Месяц (от 1 до количества месяцев в calendar).

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.

kind
DateTimeKind

Одно из значений перечисления, указывающее, что задают параметры year, month, day, hour, minute, second и millisecond: локальное время, универсальное глобальное время (UTC), или ни то, ни другое.

Исключения

calendar имеет значение null.

year не принадлежит к диапазону, поддерживаемому calendar.

-или-

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

-или-

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

-или-

Параметр hour меньше 0 или больше 23.

-или-

Параметр minute меньше 0 или больше 59.

-или-

Параметр second меньше 0 или больше 59.

-или-

Параметр millisecond имеет значение меньше 0 или больше 999.

-или-

Параметр microsecond имеет значение меньше 0 или больше 999.

kind не является одним из значений DateTimeKind.

Комментарии

Допустимые значения для yearпараметров , monthи day зависят calendar от параметра . Исключение возникает, если указанные дату и время не могут быть выражены с помощью calendar.

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

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

.NET 9 и другие версии
Продукт Версии
.NET 7, 8, 9

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

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

Инициализирует новый экземпляр структуры DateTime заданными значениями года, месяца, дня, часа, минуты и секунды, а также временем UTC или местным временем.

public DateTime (int year, int month, int day, int hour, int minute, int second, DateTimeKind kind);

Параметры

year
Int32

Год (от 1 до 9999).

month
Int32

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

day
Int32

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

hour
Int32

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

minute
Int32

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

second
Int32

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

kind
DateTimeKind

Одно из значений перечисления, указывающее, что задают параметры year, month, day, hour, minute и second: локальное время, универсальное глобальное время (UTC), или ни то, ни другое.

Исключения

Параметр year меньше 1 или больше 9999.

-или-

Параметр month имеет значение меньше 1 или больше 12.

-или-

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

-или-

Параметр hour меньше 0 или больше 23.

-или-

Параметр minute меньше 0 или больше 59.

-или-

Параметр second меньше 0 или больше 59.

kind не является одним из значений DateTimeKind.

Примеры

В следующем примере конструктор используется DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) для создания экземпляра DateTime значения.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 0, DateTimeKind.Local);
Console.WriteLine("{0} {1}", date1, date1.Kind);
// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:00 PM Local

Комментарии

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

DateTime(Int32, Int32, Int32, Int32, Int32, Int32)

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

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

public DateTime (int year, int month, int day, int hour, int minute, int second);

Параметры

year
Int32

Год (от 1 до 9999).

month
Int32

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

day
Int32

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

hour
Int32

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

minute
Int32

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

second
Int32

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

Исключения

Параметр year меньше 1 или больше 9999.

-или-

Параметр month имеет значение меньше 1 или больше 12.

-или-

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

-или-

Параметр hour меньше 0 или больше 23.

-или-

Параметр minute меньше 0 или больше 59.

-или-

Параметр second меньше 0 или больше 59.

Примеры

В следующем примере конструктор используется DateTime для создания экземпляра DateTime значения.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 0);
Console.WriteLine(date1.ToString());
// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:00 PM

Комментарии

Свойство Kind инициализировано значением параметра Unspecified.

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

DateTime(Int32, Int32, Int32, Calendar)

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

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

public DateTime (int year, int month, int day, System.Globalization.Calendar calendar);

Параметры

year
Int32

Год (от 1 до количества лет в calendar).

month
Int32

Месяц (от 1 до количества месяцев в calendar).

day
Int32

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

calendar
Calendar

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

Исключения

calendar имеет значение null.

year не принадлежит к диапазону, поддерживаемому calendar.

-или-

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

-или-

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

Примеры

В следующем примере конструктор вызывается DateTime(Int32, Int32, Int32, Calendar) дважды для создания экземпляра двух DateTime значений. При первом вызове DateTime создается экземпляр значения с помощью PersianCalendar объекта . Так как персидский календарь не может быть назначен календарем по умолчанию для языка и региональных параметров, отображение даты в персидском календаре требует отдельных вызовов методов PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonthи PersianCalendar.GetYear . Второй вызов конструктора создает DateTime экземпляр значения с помощью HijriCalendar объекта . В этом примере изменяется текущий язык и региональные параметры на арабский (Сирия), а календарь текущего языка и региональных параметров по умолчанию — на календарь хиджра. Так как хиджра является календарем по умолчанию для текущего языка и региональных параметров, Console.WriteLine метод использует его для форматирования даты. При восстановлении Console.WriteLine предыдущего текущего языка и региональных параметров (в данном случае это английский (США) метод использует григорианский календарь текущего языка и региональных параметров по умолчанию для форматирования даты.

using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Using the Persian Calendar:");
      PersianCalendar persian = new PersianCalendar();
      DateTime date1 = new DateTime(1389, 5, 27, persian);
      Console.WriteLine(date1.ToString());
      Console.WriteLine("{0}/{1}/{2}\n", persian.GetMonth(date1),
                                       persian.GetDayOfMonth(date1),
                                       persian.GetYear(date1));

      Console.WriteLine("Using the Hijri Calendar:");
      // Get current culture so it can later be restored.
      CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture;

      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY");
      CultureInfo current = CultureInfo.CurrentCulture;
      current.DateTimeFormat.Calendar = hijri;
      string dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy");
      current.DateTimeFormat.ShortDatePattern = dFormat;
      DateTime date2 = new DateTime(1431, 9, 9, hijri);
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}", current,
                        GetCalendarName(hijri), date2);

      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}",
                        CultureInfo.CurrentCulture,
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar),
                        date2);
   }

   private static string GetCalendarName(Calendar cal)
   {
      return Regex.Match(cal.ToString(), "\\.(\\w+)Calendar").Groups[1].Value;
   }
}
// The example displays the following output:
//       Using the Persian Calendar:
//       8/18/2010 12:00:00 AM
//       5/27/1389
//
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431
//       en-US culture using the Gregorian calendar: 8/18/2010

Комментарии

Время суток для полученного DateTime — полночь (00:00:00). Свойство Kind инициализировано значением параметра Unspecified.

Допустимые значения для year, monthи day зависят от calendar. Исключение возникает, если указанные дата и время не могут быть выражены с помощью calendar.

Важно!

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

Пространство System.Globalization имен предоставляет несколько календарей, включая GregorianCalendar и JulianCalendar.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

DateTime(Int32, Int32, Int32)

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

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

public DateTime (int year, int month, int day);

Параметры

year
Int32

Год (от 1 до 9999).

month
Int32

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

day
Int32

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

Исключения

Параметр year меньше 1 или больше 9999.

-или-

Параметр month имеет значение меньше 1 или больше 12.

-или-

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

Примеры

В следующем примере конструктор используется DateTime(Int32, Int32, Int32) для создания экземпляра DateTime значения. В примере также показано, что эта перегрузка DateTime создает значение, компонент времени которого равен полуночи (или 0:00).

DateTime date1 = new DateTime(2010, 8, 18);
Console.WriteLine(date1.ToString());
// The example displays the following output:
//      8/18/2010 12:00:00 AM

Комментарии

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

Время суток для полученного DateTime — полночь (00:00:00). Свойство Kind инициализировано значением параметра DateTimeKind.Unspecified.

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

DateTime(DateOnly, TimeOnly, DateTimeKind)

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

Инициализирует новый экземпляр DateTime структуры указанным DateOnly объектом и и TimeOnly с учетом указанного DateTimeKindобъекта .

public DateTime (DateOnly date, TimeOnly time, DateTimeKind kind);

Параметры

date
DateOnly

Часть даты.

time
TimeOnly

Временная часть.

kind
DateTimeKind

Одно из значений перечисления, указывающее, указывают ли date и time местное время, время в формате UTC или ни одно из них.

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

.NET 9 и .NET 8
Продукт Версии
.NET 8, 9

DateTime(Int64, DateTimeKind)

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

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

public DateTime (long ticks, DateTimeKind kind);

Параметры

ticks
Int64

Дата и время, представленные в виде нескольких 100-наносекундных интервалов, завершившихся с момента 00:00:00.000 1 января 0001 г. по григорианскому календарю.

kind
DateTimeKind

Одно из значений перечисления, указывающее, какое время задает параметр ticks: локальное, универсальное глобальное (UTC), или ни то, ни другое.

Исключения

ticks значение меньше DateTime.MinValue или больше DateTime.MaxValue.

kind не является одним из значений DateTimeKind.

Комментарии

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

DateTime(DateOnly, TimeOnly)

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

Инициализирует новый экземпляр DateTime структуры заданными DateOnly и TimeOnly. Новый экземпляр будет иметь Unspecified тип .

public DateTime (DateOnly date, TimeOnly time);

Параметры

date
DateOnly

Часть даты.

time
TimeOnly

Временная часть.

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

.NET 9 и .NET 8
Продукт Версии
.NET 8, 9

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

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

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

public DateTime (int year, int month, int day, int hour, int minute, int second, System.Globalization.Calendar calendar);

Параметры

year
Int32

Год (от 1 до количества лет в calendar).

month
Int32

Месяц (от 1 до количества месяцев в calendar).

day
Int32

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

hour
Int32

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

minute
Int32

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

second
Int32

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

calendar
Calendar

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

Исключения

calendar имеет значение null.

year не принадлежит к диапазону, поддерживаемому calendar.

-или-

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

-или-

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

-или-

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

-или-

Параметр minute меньше 0 или больше 59.

-или-

Параметр second меньше 0 или больше 59.

Примеры

В следующем примере конструктор вызывается DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) дважды для создания экземпляра двух DateTime значений. Первый вызов создает DateTime экземпляр значения с помощью PersianCalendar объекта . Так как персидский календарь не может быть назначен календарем по умолчанию для языка и региональных параметров, отображение даты в персидском календаре требует отдельных вызовов его PersianCalendar.GetMonthметодов , PersianCalendar.GetDayOfMonthи PersianCalendar.GetYear . Второй вызов конструктора создает DateTime экземпляр значения с помощью HijriCalendar объекта . В примере изменяется текущий язык и региональные параметры на арабский (Сирия), а календарь текущего языка и региональных параметров по умолчанию — на календарь хиджры. Так как Хиджра является календарем текущего языка и региональных параметров по умолчанию, Console.WriteLine метод использует его для форматирования даты. При восстановлении Console.WriteLine предыдущего текущего языка и региональных параметров (в данном случае — английский (США) метод использует григорианский календарь текущего языка и региональных параметров по умолчанию для форматирования даты.

using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Using the Persian Calendar:");
      PersianCalendar persian = new PersianCalendar();
      DateTime date1 = new DateTime(1389, 5, 27, 16, 32, 0, persian);
      Console.WriteLine(date1.ToString());
      Console.WriteLine("{0}/{1}/{2} {3}{6}{4:D2}{6}{5:D2}\n",
                                       persian.GetMonth(date1),
                                       persian.GetDayOfMonth(date1),
                                       persian.GetYear(date1),
                                       persian.GetHour(date1),
                                       persian.GetMinute(date1),
                                       persian.GetSecond(date1),
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator);

      Console.WriteLine("Using the Hijri Calendar:");
      // Get current culture so it can later be restored.
      CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture;

      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY");
      CultureInfo current = CultureInfo.CurrentCulture;
      current.DateTimeFormat.Calendar = hijri;
      string dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy");
      current.DateTimeFormat.ShortDatePattern = dFormat;
      DateTime date2 = new DateTime(1431, 9, 9, 16, 32, 18, hijri);
      Console.WriteLine("{0} culture using the {1} calendar: {2:g}", current,
                        GetCalendarName(hijri), date2);

      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      Console.WriteLine("{0} culture using the {1} calendar: {2:g}",
                        CultureInfo.CurrentCulture,
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar),
                        date2);
   }

   private static string GetCalendarName(Calendar cal)
   {
      return Regex.Match(cal.ToString(), "\\.(\\w+)Calendar").Groups[1].Value;
   }
}
// The example displays the following output:
//       Using the Persian Calendar:
//       8/18/2010 4:32:00 PM
//       5/27/1389 16:32:00
//
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431 04:32 م
//       en-US culture using the Gregorian calendar: 8/18/2010 4:32 PM

Комментарии

Свойство Kind инициализировано значением параметра Unspecified.

Допустимые значения для year, monthи day зависят от calendar. Исключение возникает, если указанные дату и время не могут быть выражены с помощью calendar.

Важно!

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

Пространство System.Globalization имен предоставляет несколько календарей, включая GregorianCalendar и JulianCalendar.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1