DateTime Konstruktory

Definice

Inicializuje novou instanci DateTime struktury.

Přetížení

DateTime(Int64)

Inicializuje novou instanci DateTime struktury na zadaný počet značek.

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

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu, milisekundu a koordinovaný univerzální čas (UTC) nebo místní čas pro zadaný kalendář.

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

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu, milisekundu a koordinovaný univerzální čas (UTC) nebo místní čas pro zadaný kalendář.

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

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu, milisekundu a koordinovaný univerzální čas (UTC) nebo místní čas pro zadaný kalendář.

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

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu, milisekundu a koordinovaný univerzální čas (UTC) nebo místní čas pro zadaný kalendář.

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

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu a milisekund pro zadaný kalendář.

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

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu, milisekundu a koordinovaný univerzální čas (UTC) nebo místní čas.

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

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu a milisekundu.

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

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu, milisekundu a koordinovaný univerzální čas (UTC) nebo místní čas pro zadaný kalendář.

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

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu a koordinovaný univerzální čas (UTC) nebo místní čas.

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

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu a sekundu.

DateTime(Int32, Int32, Int32, Calendar)

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc a den pro zadaný kalendář.

DateTime(Int32, Int32, Int32)

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc a den.

DateTime(DateOnly, TimeOnly, DateTimeKind)

Inicializuje novou instanci DateTime struktury na zadaný DateOnly a TimeOnly a respektuje zadaný DateTimeKind.

DateTime(Int64, DateTimeKind)

Inicializuje novou instanci DateTime struktury na zadaný počet značek a na koordinovaný univerzální čas (UTC) nebo místní čas.

DateTime(DateOnly, TimeOnly)

Inicializuje novou instanci DateTime struktury na zadané DateOnly a TimeOnly. Nová instance bude mít Unspecified typ .

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

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu a sekundu pro zadaný kalendář.

DateTime(Int64)

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný počet značek.

public:
 DateTime(long ticks);
public DateTime (long ticks);
new DateTime : int64 -> DateTime
Public Sub New (ticks As Long)

Parametry

ticks
Int64

Datum a čas vyjádřený počtem 100 nanosekundových intervalů, které uplynuly od 1. ledna 0001 v 00:00:00,00 v gregoriánském kalendáři.

Výjimky

ticks je menší než DateTime.MinValue nebo větší než DateTime.MaxValue.

Příklady

Následující příklad ukazuje jeden z DateTime konstruktorů.

// This example demonstrates the DateTime(Int64) constructor.
using namespace System;
using namespace System::Globalization;
int 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 = DateTime(DateTime::MaxValue.Ticks);
   
   // Create a DateTime for the minimum date and time using ticks.
   DateTime dt2 = 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. 
   Int64 ticks = DateTime(1979,07,28,22,35,5,(gcnew CultureInfo( "en-US",false ))->Calendar).Ticks;
   DateTime dt3 = 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.

*/
// This example demonstrates the DateTime(Int64) constructor.
open System
open System.Globalization

// Create a DateTime for the maximum date and time using ticks.
let dt1 = DateTime DateTime.MaxValue.Ticks

// Create a DateTime for the minimum date and time using ticks.
let dt2 = 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.
let ticks = DateTime(1979, 07, 28, 22, 35, 5, CultureInfo("en-US", false).Calendar).Ticks
let dt3 = DateTime ticks

printfn $"""1) The maximum date and time is {dt1.ToString "MM-dd/yyyy hh:mm:ss tt"}"""
printfn $"""2) The minimum date and time is {dt2.ToString "MM/dd/yyyy hh:mm:ss tt"}"""
printfn $"""3) The custom  date and time is {dt3.ToString "MM/dd/yyyy hh:mm:ss tt"}"""

printfn $"\nThe custom date and time is created from {ticks:N0} 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.
// 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.

*/
' This example demonstrates the DateTime(Int64) constructor.
Imports System.Globalization

Class Sample
   Public Shared Sub 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.
      Dim format As String = "{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.
      Dim dt1 As New DateTime(DateTime.MaxValue.Ticks)
      
      ' Create a DateTime for the minimum date and time using ticks.
      Dim dt2 As 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. 
      Dim ticks As Long = New DateTime(1979, 7, 28, 22, 35, 5, _
                                       New CultureInfo("en-US", False).Calendar).Ticks
      Dim dt3 As New DateTime(ticks)
      
      Console.WriteLine(format, 1, "maximum", dt1)
      Console.WriteLine(format, 2, "minimum", dt2)
      Console.WriteLine(format, 3, "custom ", dt3)
      Console.WriteLine(vbCrLf & "The custom date and time is created from {0:N0} ticks.", ticks)
   End Sub
End Class
'
'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.
'

Poznámky

Vlastnost Kind se inicializuje do Unspecified.

Pro aplikace, ve kterých je důležitá přenositelnost dat data a času nebo omezený stupeň povědomí o časovém pásmu, můžete použít odpovídající DateTimeOffset konstruktor.

Platí pro

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

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu, milisekundu a koordinovaný univerzální čas (UTC) nebo místní čas pro zadaný kalendář.

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

Parametry

year
Int32

Rok (1 až počet roků v calendarhodnotě ).

month
Int32

Měsíc (1 až počet měsíců v calendar).

day
Int32

Den (1 až počet dnů v monthnástroji ).

hour
Int32

Hodiny (0 až 23).

minute
Int32

Minuty (0 až 59).

second
Int32

Sekundy (0 až 59).

millisecond
Int32

Milisekundy (0 až 999).

microsecond
Int32

Mikrosekundy (0 až 999).

calendar
Calendar

Kalendář, který se používá k interpretaci year, montha day.

Výjimky

calendar je null

year není v rozsahu podporovaném nástrojem calendar.

-nebo-

month je menší než 1 nebo větší než počet měsíců v calendar.

-nebo-

day je menší než 1 nebo větší než počet dní v month.

-nebo-

hour je menší než 0 nebo větší než 23.

-nebo-

minute je menší než 0 nebo větší než 59.

-nebo-

second je menší než 0 nebo větší než 59.

-nebo-

millisecond je menší než 0 nebo větší než 999.

-nebo-

microsecond je menší než 0 nebo větší než 999.

Poznámky

Povolené hodnoty parametrů year, montha day závisí na parametru calendar . Pokud zadané datum a čas nelze vyjádřit pomocí , dojde k výjimce calendar.

Pro aplikace, ve kterých je důležitá přenositelnost dat data a času nebo omezený stupeň povědomí o časovém pásmu, můžete použít odpovídající DateTimeOffset konstruktor.

Platí pro

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

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu, milisekundu a koordinovaný univerzální čas (UTC) nebo místní čas pro zadaný kalendář.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * int * int * DateTimeKind -> DateTime
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, kind As DateTimeKind)

Parametry

year
Int32

Rok (1 až 9999).

month
Int32

Měsíc (1 až 12).

day
Int32

Den (1 až počet dnů v monthnástroji ).

hour
Int32

Hodiny (0 až 23).

minute
Int32

Minuty (0 až 59).

second
Int32

Sekundy (0 až 59).

millisecond
Int32

Milisekundy (0 až 999).

microsecond
Int32

Mikrosekundy (0 až 999).

kind
DateTimeKind

Jedna z hodnot výčtu, která určuje, jestli year, , dayminutesecondmonthhoura millisecond určují místní čas, koordinovaný univerzální čas (UTC) nebo ani jedno.

Výjimky

year je menší než 1 nebo větší než 9999.

-nebo-

month je menší než 1 nebo větší než 12.

-nebo-

day je menší než 1 nebo větší než počet dní v month.

-nebo-

hour je menší než 0 nebo větší než 23.

-nebo-

minute je menší než 0 nebo větší než 59.

-nebo-

second je menší než 0 nebo větší než 59.

-nebo-

millisecond je menší než 0 nebo větší než 999.

-nebo-

microsecond je menší než 0 nebo větší než 999.

kind není jednou z DateTimeKind hodnot.

Poznámky

Tento konstruktor interpretuje year, month a day jako rok, měsíc a den v gregoriánském kalendáři. Chcete-li vytvořit DateTime instanci hodnoty pomocí roku, měsíce a dne v jiném kalendáři, zavolejte DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) konstruktor.

Pro aplikace, ve kterých je důležitá přenositelnost dat data a času nebo omezený stupeň povědomí o časovém pásmu, můžete použít odpovídající DateTimeOffset konstruktor.

Platí pro

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

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu, milisekundu a koordinovaný univerzální čas (UTC) nebo místní čas pro zadaný kalendář.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, System::Globalization::Calendar ^ calendar, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, System.Globalization.Calendar calendar, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * int * System.Globalization.Calendar * DateTimeKind -> DateTime
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, kind As DateTimeKind)

Parametry

year
Int32

Rok (1 až počet roků v calendarhodnotě ).

month
Int32

Měsíc (1 až počet měsíců v calendar).

day
Int32

Den (1 až počet dnů v monthnástroji ).

hour
Int32

Hodiny (0 až 23).

minute
Int32

Minuty (0 až 59).

second
Int32

Sekundy (0 až 59).

millisecond
Int32

Milisekundy (0 až 999).

calendar
Calendar

Kalendář, který se používá k interpretaci year, montha day.

kind
DateTimeKind

Jedna z hodnot výčtu, která určuje, jestli year, , dayminutesecondmonthhoura millisecond určují místní čas, koordinovaný univerzální čas (UTC) nebo ani jedno.

Výjimky

calendar je null.

year není v rozsahu podporovaném nástrojem calendar.

-nebo-

month je menší než 1 nebo větší než počet měsíců v calendar.

-nebo-

day je menší než 1 nebo větší než počet dní v month.

-nebo-

hour je menší než 0 nebo větší než 23.

-nebo-

minute je menší než 0 nebo větší než 59.

-nebo-

second je menší než 0 nebo větší než 59.

-nebo-

millisecond je menší než 0 nebo větší než 999.

kind není jednou z DateTimeKind hodnot.

Příklady

Následující příklad volá DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) konstruktor dvakrát pro vytvoření instance dvou DateTime hodnot. První volání vytvoří DateTime instanci hodnoty pomocí objektu PersianCalendar . Vzhledem k tomu, že perský kalendář nelze označit jako výchozí kalendář pro jazykovou verzi, vyžaduje zobrazení data v perském kalendáři jednotlivá volání metody PersianCalendar.GetMonth, PersianCalendar.GetDayOfMontha PersianCalendar.GetYear . Druhé volání konstruktoru vytvoří DateTime instanci hodnoty pomocí objektu HijriCalendar . Příklad změní aktuální jazykovou verzi na arabštinu (Sýrie) a změní výchozí kalendář aktuální jazykové verze na kalendář Hidžri. Vzhledem k tomu, že hidžra je výchozím kalendářem aktuální jazykové verze, Console.WriteLine metoda ho používá k formátování data. Při obnovení Console.WriteLine předchozí aktuální jazykové verze (což je v tomto případě angličtina (USA) metoda použije k formátování data výchozí gregoriánský kalendář aktuální jazykové verze.

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
open System
open System.Globalization
open System.Text.RegularExpressions
open System.Threading

let getCalendarName (cal: Calendar) =
      Regex.Match(string cal, "\\.(\\w+)Calendar").Groups[1].Value

printfn "Using the Persian Calendar:"
let persian = PersianCalendar()
let date1 = DateTime(1389, 5, 27, 16, 32, 18, 500, persian, DateTimeKind.Local)
printfn $"""{date1.ToString "M/dd/yyyy h:mm:ss.fff tt"} {date1.Kind}"""
let sep = DateTimeFormatInfo.CurrentInfo.TimeSeparator
printfn $"{persian.GetMonth date1}/{persian.GetDayOfMonth date1}/{persian.GetYear date1} {persian.GetHour date1}{sep}{persian.GetMinute date1:D2}{sep}{persian.GetSecond date1:D2}.{persian.GetMilliseconds date1:G3} {date1.Kind}\n"

printfn "Using the Hijri Calendar:"
// Get current culture so it can later be restored.
let dftCulture = Thread.CurrentThread.CurrentCulture

// Define Hijri calendar.
let hijri = HijriCalendar()
// Make ar-SY the current culture and Hijri the current calendar.
Thread.CurrentThread.CurrentCulture <- CultureInfo "ar-SY"
let current = CultureInfo.CurrentCulture
current.DateTimeFormat.Calendar <- hijri

let dFormat = 
    let dFormat = current.DateTimeFormat.ShortDatePattern
    // Ensure year is displayed as four digits.
    Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff"

let fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}"
let date2 = 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
let dFormat2 = DateTimeFormatInfo.CurrentInfo.ShortDatePattern + " H:mm:ss.fff"
let fmtString2 = "{0} culture using the {1} calendar: {2:" + dFormat2 + "} {3}"
Console.WriteLine(fmtString2, CultureInfo.CurrentCulture, getCalendarName CultureInfo.CurrentCulture.Calendar, date2, date2.Kind)


// 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
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(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}", _
                                       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()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define strings for use in composite formatting.
      Dim dFormat As String 
      Dim fmtString As String 
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = 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}"
      Dim date2 As New Date(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) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' The example displays the following output:
'       Using the Persian Calendar:
'       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

Poznámky

Povolené hodnoty parametrů year, montha day závisí na parametru calendar . Pokud zadané datum a čas nelze vyjádřit pomocí , dojde k výjimce calendar.

Pro aplikace, ve kterých je důležitá přenositelnost dat data a času nebo omezený stupeň povědomí o časovém pásmu, můžete použít odpovídající DateTimeOffset konstruktor.

Důležité

Éry v japonských kalendářích jsou založeny na vládě císaře, a proto se očekává, že se změní. Například 1. května 2019 bylo začátkem éry Reiwa v JapaneseCalendar a JapaneseLunisolarCalendar. Taková změna éry ovlivní všechny aplikace, které tyto kalendáře používají. Další informace a informace o tom, jestli se to týká vašich aplikací, najdete v tématu Zpracování nové éry v japonském kalendáři v .NET. Informace o testování aplikací v systémech Windows, abyste zajistili jejich připravenost na změnu éry, najdete v tématu Příprava aplikace na změnu japonské éry. Funkce v .NET, které podporují kalendáře s více érami, a osvědčené postupy při práci s kalendáři, které podporují více ér, najdete v tématu Práce s érami.

Obor System.Globalization názvů poskytuje několik kalendářů, včetně GregorianCalendar a JulianCalendar.

Platí pro

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

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu, milisekundu a koordinovaný univerzální čas (UTC) nebo místní čas pro zadaný kalendář.

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

Parametry

year
Int32

Rok (1 až 9999).

month
Int32

Měsíc (1 až 12).

day
Int32

Den (1 až počet dnů v monthnástroji ).

hour
Int32

Hodiny (0 až 23).

minute
Int32

Minuty (0 až 59).

second
Int32

Sekundy (0 až 59).

millisecond
Int32

Milisekundy (0 až 999).

microsecond
Int32

Mikrosekundy (0 až 999).

Výjimky

year je menší než 1 nebo větší než 9999.

-nebo-

month je menší než 1 nebo větší než 12.

-nebo-

day je menší než 1 nebo větší než počet dní v month.

-nebo-

hour je menší než 0 nebo větší než 23.

-nebo-

minute je menší než 0 nebo větší než 59.

-nebo-

second je menší než 0 nebo větší než 59.

-nebo-

millisecond je menší než 0 nebo větší než 999.

-nebo-

microsecond je menší než 0 nebo větší než 999.

Poznámky

Tento konstruktor interpretuje year, month a day jako rok, měsíc a den v gregoriánském kalendáři. Chcete-li vytvořit DateTime instanci hodnoty pomocí roku, měsíce a dne v jiném kalendáři, zavolejte DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) konstruktor.

Vlastnost Kind se inicializuje do Unspecified.

Pro aplikace, ve kterých je důležitá přenositelnost dat data a času nebo omezený stupeň povědomí o časovém pásmu, můžete použít odpovídající DateTimeOffset konstruktor.

Platí pro

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

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu a milisekund pro zadaný kalendář.

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

Parametry

year
Int32

Rok (1 až počet roků v calendarhodnotě ).

month
Int32

Měsíc (1 až počet měsíců v calendar).

day
Int32

Den (1 až počet dnů v monthnástroji ).

hour
Int32

Hodiny (0 až 23).

minute
Int32

Minuty (0 až 59).

second
Int32

Sekundy (0 až 59).

millisecond
Int32

Milisekundy (0 až 999).

calendar
Calendar

Kalendář, který se používá k interpretaci year, montha day.

Výjimky

calendar je null.

year není v rozsahu podporovaném nástrojem calendar.

-nebo-

month je menší než 1 nebo větší než počet měsíců v calendar.

-nebo-

day je menší než 1 nebo větší než počet dní v month.

-nebo-

hour je menší než 0 nebo větší než 23.

-nebo-

minute je menší než 0 nebo větší než 59.

-nebo-

second je menší než 0 nebo větší než 59.

-nebo-

millisecond je menší než 0 nebo větší než 999.

Příklady

Následující příklad volá DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) konstruktor dvakrát pro vytvoření instance dvou DateTime hodnot. První volání vytvoří DateTime instanci hodnoty pomocí objektu PersianCalendar . Vzhledem k tomu, že perský kalendář nelze označit jako výchozí kalendář pro jazykovou verzi, vyžaduje zobrazení data v perském kalendáři jednotlivá volání metody PersianCalendar.GetMonth, PersianCalendar.GetDayOfMontha PersianCalendar.GetYear . Druhé volání konstruktoru vytvoří DateTime instanci hodnoty pomocí objektu HijriCalendar . Příklad změní aktuální jazykovou verzi na arabštinu (Sýrie) a změní výchozí kalendář aktuální jazykové verze na kalendář Hidžri. Vzhledem k tomu, že hidžra je výchozím kalendářem aktuální jazykové verze, Console.WriteLine metoda ho používá k formátování data. Při obnovení Console.WriteLine předchozí aktuální jazykové verze (což je v tomto případě angličtina (USA) metoda použije k formátování data výchozí gregoriánský kalendář aktuální jazykové verze.

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
open System
open System.Globalization
open System.Text.RegularExpressions
open System.Threading

let getCalendarName (cal: Calendar) =
      Regex.Match(string cal, "\\.(\\w+)Calendar").Groups[1].Value

printfn "Using the Persian Calendar:"
let persian = PersianCalendar()
let date1 = DateTime(1389, 5, 27, 16, 32, 18, 500, persian)
printfn $"""{date1.ToString("M/dd/yyyy h:mm:ss.fff tt")}"""
let sep = DateTimeFormatInfo.CurrentInfo.TimeSeparator
printfn $"{persian.GetMonth date1}/{persian.GetDayOfMonth date1}/{persian.GetYear date1} {persian.GetHour date1}{sep}%02i{persian.GetMinute date1}{sep}%02i{persian.GetSecond date1}.%.3f{persian.GetMilliseconds date1}\n"

printfn "Using the Hijri Calendar:"
// Get current culture so it can later be restored.
let dftCulture = Thread.CurrentThread.CurrentCulture

// Define Hijri calendar.
let hijri = HijriCalendar()
// Make ar-SY the current culture and Hijri the current calendar.
Thread.CurrentThread.CurrentCulture <- CultureInfo "ar-SY"
let current = CultureInfo.CurrentCulture
current.DateTimeFormat.Calendar <- hijri

let dFormat = 
    let dFormat = current.DateTimeFormat.ShortDatePattern
    // Ensure year is displayed as four digits.
    Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff"

let fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}"
let date2 = DateTime(1431, 9, 9, 16, 32, 18, 500, hijri)
Console.WriteLine(fmtString, current, getCalendarName hijri, date2)

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


// 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
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(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}", _
                                       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()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define strings for use in composite formatting.
      Dim dFormat As String 
      Dim fmtString As String 
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = 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 + "}"
      Dim date2 As New Date(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) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' The example displays the following output:
'       Using the Persian Calendar:
'       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

Poznámky

Vlastnost Kind se inicializuje do Unspecified.

Povolené hodnoty pro year, montha day závisí na calendar. Pokud zadané datum a čas nelze vyjádřit pomocí , dojde k výjimce calendar.

Pro aplikace, ve kterých je důležitá přenositelnost dat data a času nebo omezený stupeň povědomí o časovém pásmu, můžete použít odpovídající DateTimeOffset konstruktor.

Důležité

Éry v japonských kalendářích jsou založeny na vládě císaře, a proto se očekává, že se změní. Například 1. května 2019 bylo začátkem éry Reiwa v JapaneseCalendar a JapaneseLunisolarCalendar. Taková změna éry ovlivní všechny aplikace, které tyto kalendáře používají. Další informace a informace o tom, jestli se to týká vašich aplikací, najdete v tématu Zpracování nové éry v japonském kalendáři v .NET. Informace o testování aplikací v systémech Windows, abyste zajistili jejich připravenost na změnu éry, najdete v tématu Příprava aplikace na změnu japonské éry. Funkce v .NET, které podporují kalendáře s více érami, a osvědčené postupy při práci s kalendáři, které podporují více ér, najdete v tématu Práce s érami.

Obor System.Globalization názvů poskytuje několik kalendářů, včetně GregorianCalendar a JulianCalendar.

Viz také

Platí pro

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

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu, milisekundu a koordinovaný univerzální čas (UTC) nebo místní čas.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * int * DateTimeKind -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, kind As DateTimeKind)

Parametry

year
Int32

Rok (1 až 9999).

month
Int32

Měsíc (1 až 12).

day
Int32

Den (1 až počet dnů v monthnástroji ).

hour
Int32

Hodiny (0 až 23).

minute
Int32

Minuty (0 až 59).

second
Int32

Sekundy (0 až 59).

millisecond
Int32

Milisekundy (0 až 999).

kind
DateTimeKind

Jedna z hodnot výčtu, která určuje, jestli year, , dayminutesecondmonthhoura millisecond určují místní čas, koordinovaný univerzální čas (UTC) nebo ani jedno.

Výjimky

year je menší než 1 nebo větší než 9999.

-nebo-

month je menší než 1 nebo větší než 12.

-nebo-

day je menší než 1 nebo větší než počet dní v month.

-nebo-

hour je menší než 0 nebo větší než 23.

-nebo-

minute je menší než 0 nebo větší než 59.

-nebo-

second je menší než 0 nebo větší než 59.

-nebo-

millisecond je menší než 0 nebo větší než 999.

kind není jednou z DateTimeKind hodnot.

Příklady

Následující příklad používá DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) konstruktor k vytvoření DateTime instance hodnoty.

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
let date1 = DateTime(2010, 8, 18, 16, 32, 18, 500, DateTimeKind.Local)
printfn $"""{date1.ToString "M/dd/yyyy h:mm:ss.fff tt"} {date1.Kind}"""

// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:18.500 PM Local
Dim date1 As New Date(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:
'      8/18/2010 4:32:18.500 PM Local

Poznámky

Tento konstruktor interpretujeyearmonth , a day jako rok, měsíc a den v gregoriánském kalendáři. Pokud chcete vytvořit instanci hodnoty pomocí roku, měsíce a dne v jiném kalendáři DateTime , zavolejte DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) konstruktor.

Pro aplikace, ve kterých je důležitá přenositelnost dat data a času nebo omezený stupeň povědomí o časovém pásmu, můžete použít odpovídající DateTimeOffset konstruktor.

Platí pro

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

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu a milisekundu.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond);
new DateTime : int * int * int * int * int * int * int -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer)

Parametry

year
Int32

Rok (1 až 9999).

month
Int32

Měsíc (1 až 12).

day
Int32

Den (1 až počet dnů v monthnástroji ).

hour
Int32

Hodiny (0 až 23).

minute
Int32

Minuty (0 až 59).

second
Int32

Sekundy (0 až 59).

millisecond
Int32

Milisekundy (0 až 999).

Výjimky

year je menší než 1 nebo větší než 9999.

-nebo-

month je menší než 1 nebo větší než 12.

-nebo-

day je menší než 1 nebo větší než počet dní v month.

-nebo-

hour je menší než 0 nebo větší než 23.

-nebo-

minute je menší než 0 nebo větší než 59.

-nebo-

second je menší než 0 nebo větší než 59.

-nebo-

millisecond je menší než 0 nebo větší než 999.

Příklady

Následující příklad používá DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) konstruktor k vytvoření DateTime instance hodnoty.

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
let date1 = DateTime(2010, 8, 18, 16, 32, 18, 500)

date1.ToString "M/dd/yyyy h:mm:ss.fff tt"
|> printfn "%s"

// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:18.500 PM
Dim date1 As New Date(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:
'      8/18/2010 4:32:18.500 PM

Poznámky

Tento konstruktor interpretujeyearmonth , a day jako rok, měsíc a den v gregoriánském kalendáři. Pokud chcete vytvořit instanci hodnoty pomocí roku, měsíce a dne v jiném kalendáři DateTime , zavolejte DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) konstruktor.

Vlastnost Kind se inicializuje do Unspecified.

Pro aplikace, ve kterých je důležitá přenositelnost dat data a času nebo omezený stupeň povědomí o časovém pásmu, můžete použít odpovídající DateTimeOffset konstruktor.

Viz také

Platí pro

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

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu, milisekundu a koordinovaný univerzální čas (UTC) nebo místní čas pro zadaný kalendář.

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

Parametry

year
Int32

Rok (1 až počet roků v calendarhodnotě ).

month
Int32

Měsíc (1 až počet měsíců v calendar).

day
Int32

Den (1 až počet dnů v monthnástroji ).

hour
Int32

Hodiny (0 až 23).

minute
Int32

Minuty (0 až 59).

second
Int32

Sekundy (0 až 59).

millisecond
Int32

Milisekundy (0 až 999).

microsecond
Int32

Mikrosekundy (0 až 999).

calendar
Calendar

Kalendář, který se používá k interpretaci year, montha day.

kind
DateTimeKind

Jedna z hodnot výčtu, která určuje, jestli year, , dayminutesecondmonthhoura millisecond určují místní čas, koordinovaný univerzální čas (UTC) nebo ani jedno.

Výjimky

calendar je null

year není v rozsahu podporovaném nástrojem calendar.

-nebo-

month je menší než 1 nebo větší než počet měsíců v calendar.

-nebo-

day je menší než 1 nebo větší než počet dní v month.

-nebo-

hour je menší než 0 nebo větší než 23.

-nebo-

minute je menší než 0 nebo větší než 59.

-nebo-

second je menší než 0 nebo větší než 59.

-nebo-

millisecond je menší než 0 nebo větší než 999.

-nebo-

microsecond je menší než 0 nebo větší než 999.

kind není jednou z DateTimeKind hodnot.

Poznámky

Povolené hodnoty parametrů year, montha day závisí na parametru calendar . Pokud zadané datum a čas nelze vyjádřit pomocí , dojde k výjimce calendar.

Pro aplikace, ve kterých je důležitá přenositelnost dat data a času nebo omezený stupeň povědomí o časovém pásmu, můžete použít odpovídající DateTimeOffset konstruktor.

Platí pro

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

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu, sekundu a koordinovaný univerzální čas (UTC) nebo místní čas.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * DateTimeKind -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, kind As DateTimeKind)

Parametry

year
Int32

Rok (1 až 9999).

month
Int32

Měsíc (1 až 12).

day
Int32

Den (1 až počet dnů v monthnástroji ).

hour
Int32

Hodiny (0 až 23).

minute
Int32

Minuty (0 až 59).

second
Int32

Sekundy (0 až 59).

kind
DateTimeKind

Jedna z hodnot výčtu, která určuje, jestli year, month, dayhourminute a second určují místní čas, koordinovaný univerzální čas (UTC) nebo ani jedno.

Výjimky

year je menší než 1 nebo větší než 9999.

-nebo-

month je menší než 1 nebo větší než 12.

-nebo-

day je menší než 1 nebo větší než počet dní v month.

-nebo-

hour je menší než 0 nebo větší než 23.

-nebo-

minute je menší než 0 nebo větší než 59.

-nebo-

second je menší než 0 nebo větší než 59.

kind není jednou z DateTimeKind hodnot.

Příklady

Následující příklad používá DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) konstruktor k vytvoření DateTime instance hodnoty.

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
let date1 = DateTime(2010, 8, 18, 16, 32, 0, DateTimeKind.Local)
printfn $"{date1} {date1.Kind}"

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

Poznámky

Tento konstruktor interpretujeyearmonth , a day jako rok, měsíc a den v gregoriánském kalendáři. Pokud chcete vytvořit instanci hodnoty pomocí roku, měsíce a dne v jiném kalendáři DateTime , zavolejte DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) konstruktor.

Pro aplikace, ve kterých je důležitá přenositelnost dat data a času nebo omezený stupeň povědomí o časovém pásmu, můžete použít odpovídající DateTimeOffset konstruktor.

Platí pro

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

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu a sekundu.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second);
public DateTime (int year, int month, int day, int hour, int minute, int second);
new DateTime : int * int * int * int * int * int -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer)

Parametry

year
Int32

Rok (1 až 9999).

month
Int32

Měsíc (1 až 12).

day
Int32

Den (1 až počet dnů v monthnástroji ).

hour
Int32

Hodiny (0 až 23).

minute
Int32

Minuty (0 až 59).

second
Int32

Sekundy (0 až 59).

Výjimky

year je menší než 1 nebo větší než 9999.

-nebo-

month je menší než 1 nebo větší než 12.

-nebo-

day je menší než 1 nebo větší než počet dní v month.

-nebo-

hour je menší než 0 nebo větší než 23.

-nebo-

minute je menší než 0 nebo větší než 59.

-nebo-

second je menší než 0 nebo větší než 59.

Příklady

Následující příklad používá DateTime konstruktor k vytvoření DateTime instance hodnoty.

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
let date1 = DateTime(2010, 8, 18, 16, 32, 0)
printfn $"{date1}"

// The example displays the following output, in this case for en-us culture:
//      8/18/2010 4:32:00 PM
Dim date1 As New Date(2010, 8, 18, 16, 32, 0)
Console.WriteLine(date1.ToString())
' The example displays the following output:
'      8/18/2010 4:32:00 PM

Poznámky

Vlastnost Kind se inicializuje do Unspecified.

Tento konstruktor interpretujeyearmonth , a day jako rok, měsíc a den v gregoriánském kalendáři. Pokud chcete vytvořit instanci hodnoty pomocí roku, měsíce a dne v jiném kalendáři DateTime , zavolejte DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) konstruktor.

Pro aplikace, ve kterých je důležitá přenositelnost dat data a času nebo omezený stupeň povědomí o časovém pásmu, můžete použít odpovídající DateTimeOffset konstruktor.

Platí pro

DateTime(Int32, Int32, Int32, Calendar)

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc a den pro zadaný kalendář.

public:
 DateTime(int year, int month, int day, System::Globalization::Calendar ^ calendar);
public DateTime (int year, int month, int day, System.Globalization.Calendar calendar);
new DateTime : int * int * int * System.Globalization.Calendar -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, calendar As Calendar)

Parametry

year
Int32

Rok (1 až počet roků v calendarhodnotě ).

month
Int32

Měsíc (1 až počet měsíců v calendar).

day
Int32

Den (1 až počet dnů v monthnástroji ).

calendar
Calendar

Kalendář, který se používá k interpretaci year, montha day.

Výjimky

calendar je null.

year není v rozsahu podporovaném nástrojem calendar.

-nebo-

month je menší než 1 nebo větší než počet měsíců v calendar.

-nebo-

day je menší než 1 nebo větší než počet dní v month.

Příklady

Následující příklad volá DateTime(Int32, Int32, Int32, Calendar) konstruktor dvakrát pro vytvoření instance dvou DateTime hodnot. První volání vytvoří DateTime instanci hodnoty pomocí objektu PersianCalendar . Vzhledem k tomu, že perský kalendář nelze označit jako výchozí kalendář pro jazykovou verzi, vyžaduje zobrazení data v perském kalendáři jednotlivá volání metody PersianCalendar.GetMonth, PersianCalendar.GetDayOfMontha PersianCalendar.GetYear . Druhé volání konstruktoru vytvoří DateTime instanci hodnoty pomocí objektu HijriCalendar . Příklad změní aktuální jazykovou verzi na arabštinu (Sýrie) a změní výchozí kalendář aktuální jazykové verze na kalendář Hidžri. Vzhledem k tomu, že hidžra je výchozím kalendářem aktuální jazykové verze, Console.WriteLine metoda ho používá k formátování data. Při obnovení Console.WriteLine předchozí aktuální jazykové verze (což je v tomto případě angličtina (USA) metoda použije k formátování data výchozí gregoriánský kalendář aktuální jazykové verze.

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
open System
open System.Globalization
open System.Text.RegularExpressions
open System.Threading

let getCalendarName (cal: Calendar) =
    Regex.Match(string cal, "\\.(\\w+)Calendar").Groups[1].Value

printfn "Using the Persian Calendar:"
let persian = PersianCalendar()
let date1 = DateTime(1389, 5, 27, persian)
printfn $"{date1}"
printfn $"{persian.GetMonth date1}/{persian.GetDayOfMonth date1}/{persian.GetYear date1}\n"

printfn "Using the Hijri Calendar:"
// Get current culture so it can later be restored.
let dftCulture = Thread.CurrentThread.CurrentCulture

// Define Hijri calendar.
let hijri = HijriCalendar()
// Make ar-SY the current culture and Hijri the current calendar.
Thread.CurrentThread.CurrentCulture <- CultureInfo "ar-SY"
let current = CultureInfo.CurrentCulture
current.DateTimeFormat.Calendar <- hijri

let dFormat =
    let dFormat = current.DateTimeFormat.ShortDatePattern
    // Ensure year is displayed as four digits.
    Regex.Replace(dFormat, "/yy$", "/yyyy")

current.DateTimeFormat.ShortDatePattern <- dFormat
let date2 = DateTime(1431, 9, 9, hijri)
printfn $"{current} culture using the {getCalendarName hijri} calendar: {date2:d}"

// Restore previous culture.
Thread.CurrentThread.CurrentCulture <- dftCulture
printfn $"{CultureInfo.CurrentCulture} culture using the {getCalendarName CultureInfo.CurrentCulture.Calendar} calendar: {date2:d}"


// 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
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(1389, 5, 27, persian)
      Console.WriteLine(date1.ToString())
      Console.WriteLine("{0}/{1}/{2}", persian.GetMonth(date1), _
                                       persian.GetDayOfMonth(date1), _
                                       persian.GetYear(date1))
      Console.WriteLine()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      current.DateTimeFormat.Calendar = hijri
      Dim dFormat As String = current.DateTimeFormat.ShortDatePattern
      ' Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy")
      current.DateTimeFormat.ShortDatePattern = dFormat
      Dim date2 As New Date(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) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' 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

Poznámky

Denní čas výsledné DateTime hodnoty je půlnoc (00:00:00). Vlastnost Kind se inicializuje do Unspecified.

Povolené hodnoty pro year, montha day závisí na calendar. Pokud zadané datum a čas nelze vyjádřit pomocí , dojde k výjimce calendar.

Důležité

Éry v japonských kalendářích jsou založeny na vládě císaře, a proto se očekává, že se změní. Například 1. května 2019 bylo začátkem éry Reiwa v JapaneseCalendar a JapaneseLunisolarCalendar. Taková změna éry ovlivní všechny aplikace, které tyto kalendáře používají. Další informace a informace o tom, jestli se to týká vašich aplikací, najdete v tématu Zpracování nové éry v japonském kalendáři v .NET. Informace o testování aplikací v systémech Windows, abyste zajistili jejich připravenost na změnu éry, najdete v tématu Příprava aplikace na změnu japonské éry. Funkce v .NET, které podporují kalendáře s více érami, a osvědčené postupy při práci s kalendáři, které podporují více ér, najdete v tématu Práce s érami.

Obor System.Globalization názvů poskytuje několik kalendářů, včetně GregorianCalendar a JulianCalendar.

Viz také

Platí pro

DateTime(Int32, Int32, Int32)

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc a den.

public:
 DateTime(int year, int month, int day);
public DateTime (int year, int month, int day);
new DateTime : int * int * int -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer)

Parametry

year
Int32

Rok (1 až 9999).

month
Int32

Měsíc (1 až 12).

day
Int32

Den (1 až počet dnů v monthnástroji ).

Výjimky

year je menší než 1 nebo větší než 9999.

-nebo-

month je menší než 1 nebo větší než 12.

-nebo-

day je menší než 1 nebo větší než počet dní v month.

Příklady

Následující příklad používá DateTime(Int32, Int32, Int32) konstruktor k vytvoření DateTime instance hodnoty. Příklad také ukazuje, že toto přetížení vytvoří DateTime hodnotu, jejíž součást času se rovná půlnoci (nebo 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
let date1 = DateTime(2010, 8, 18)
printfn $"{date1}"

// The example displays the following output:
//      8/18/2010 12:00:00 AM
Dim date1 As New Date(2010, 8, 18)
Console.WriteLine(date1.ToString())
' The example displays the following output:
'      8/18/2010 12:00:00 AM

Poznámky

Tento konstruktor interpretuje year, montha day jako rok, měsíc a den v gregoriánském kalendáři. Pokud chcete vytvořit instanci hodnoty pomocí roku, měsíce a dne v jiném kalendáři DateTime , zavolejte DateTime(Int32, Int32, Int32, Calendar) konstruktor.

Denní čas výsledné DateTime hodnoty je půlnoc (00:00:00). Vlastnost Kind se inicializuje do DateTimeKind.Unspecified.

Platí pro

DateTime(DateOnly, TimeOnly, DateTimeKind)

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný DateOnly a TimeOnly a respektuje zadaný DateTimeKind.

public:
 DateTime(DateOnly date, TimeOnly time, DateTimeKind kind);
public DateTime (DateOnly date, TimeOnly time, DateTimeKind kind);
new DateTime : DateOnly * TimeOnly * DateTimeKind -> DateTime
Public Sub New (date As DateOnly, time As TimeOnly, kind As DateTimeKind)

Parametry

date
DateOnly

Část s datem.

time
TimeOnly

Časová část.

kind
DateTimeKind

Jedna z hodnot výčtu, která určuje, jestli date a time určuje místní čas, koordinovaný univerzální čas (UTC) nebo ani jedno.

Platí pro

DateTime(Int64, DateTimeKind)

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný počet zaškrtnutí a na koordinovaný univerzální čas (UTC) nebo místní čas.

public:
 DateTime(long ticks, DateTimeKind kind);
public DateTime (long ticks, DateTimeKind kind);
new DateTime : int64 * DateTimeKind -> DateTime
Public Sub New (ticks As Long, kind As DateTimeKind)

Parametry

ticks
Int64

Datum a čas vyjádřený počtem 100 nanosekundových intervalů, které uplynuly od 1. ledna 0001 v 00:00:00,00 v gregoriánském kalendáři.

kind
DateTimeKind

Jedna z hodnot výčtu, která určuje, jestli ticks určuje místní čas, koordinovaný univerzální čas (UTC) nebo ani jedno.

Výjimky

ticks je menší než DateTime.MinValue nebo větší než DateTime.MaxValue.

kind není jednou z DateTimeKind hodnot.

Poznámky

Pro aplikace, ve kterých je důležitá přenositelnost dat data a času nebo omezená míra povědomí o časovém pásmu, můžete použít odpovídající DateTimeOffset konstruktor.

Platí pro

DateTime(DateOnly, TimeOnly)

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadané DateOnly a TimeOnly. Nová instance bude mít druh Unspecified .

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

Parametry

date
DateOnly

Část kalendářního data.

time
TimeOnly

Časová část.

Platí pro

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

Zdroj:
DateTime.cs
Zdroj:
DateTime.cs
Zdroj:
DateTime.cs

Inicializuje novou instanci DateTime struktury na zadaný rok, měsíc, den, hodinu, minutu a sekundu pro zadaný kalendář.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, System::Globalization::Calendar ^ calendar);
public DateTime (int year, int month, int day, int hour, int minute, int second, System.Globalization.Calendar calendar);
new DateTime : int * int * int * int * int * int * System.Globalization.Calendar -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, calendar As Calendar)

Parametry

year
Int32

Rok (1 až počet roků v calendar).

month
Int32

Měsíc (1 až počet měsíců v calendar).

day
Int32

Den (1 až počet dnů v month).

hour
Int32

Hodiny (0 až 23).

minute
Int32

Minuty (0 až 59).

second
Int32

Sekundy (0 až 59).

calendar
Calendar

Kalendář, který se používá k interpretaci year, montha day.

Výjimky

calendar je null.

year není v rozsahu podporovaném nástrojem calendar.

-nebo-

month je menší než 1 nebo větší než počet měsíců v calendarsystému .

-nebo-

day je menší než 1 nebo větší než počet dnů v monthsystému .

-nebo-

hour je menší než 0 nebo větší než 23

-nebo-

minute je menší než 0 nebo větší než 59.

-nebo-

second je menší než 0 nebo větší než 59.

Příklady

Následující příklad volá DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) konstruktor dvakrát pro vytvoření instance dvou DateTime hodnot. První volání vytvoří DateTime instanci hodnoty pomocí objektu PersianCalendar . Vzhledem k tomu, že perský kalendář nelze označit jako výchozí kalendář pro jazykovou verzi, zobrazení data v perském kalendáři vyžaduje jednotlivá volání jeho PersianCalendar.GetMonthmetod , PersianCalendar.GetDayOfMontha PersianCalendar.GetYear . Druhé volání konstruktoru vytvoří instanci DateTime hodnoty pomocí objektu HijriCalendar . Příklad změní aktuální jazykovou verzi na arabštinu (Sýrie) a změní výchozí kalendář aktuální jazykové verze na kalendář Hidžri. Vzhledem k tomu, že hidžra je výchozí kalendář aktuální jazykové verze, Console.WriteLine metoda ho používá k formátování data. Při obnovení Console.WriteLine předchozí aktuální jazykové verze (což je v tomto případě angličtina (USA) metoda použije k formátování data výchozí gregoriánský kalendář aktuální jazykové verze.

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
open System
open System.Globalization
open System.Text.RegularExpressions
open System.Threading

let getCalendarName (cal: Calendar) =
    Regex.Match(string cal, "\\.(\\w+)Calendar").Groups[1].Value

printfn "Using the Persian Calendar:"
let persian = PersianCalendar()
let date1 = DateTime(1389, 5, 27, 16, 32, 0, persian)
printfn $"{date1}"
let sep = DateTimeFormatInfo.CurrentInfo.TimeSeparator
printfn $"{persian.GetMonth date1}/{persian.GetDayOfMonth date1}/{persian.GetYear date1} {persian.GetHour date1}{sep}%02i{persian.GetMinute date1}{sep}%02i{persian.GetSecond date1}\n"

printfn "Using the Hijri Calendar:"

// Get current culture so it can later be restored.
let dftCulture = Thread.CurrentThread.CurrentCulture

// Define Hijri calendar.
let hijri = HijriCalendar()

// Make ar-SY the current culture and Hijri the current calendar.
Thread.CurrentThread.CurrentCulture <- CultureInfo "ar-SY"
let current = CultureInfo.CurrentCulture
current.DateTimeFormat.Calendar <- hijri
let dFormat = 
    let dFormat = current.DateTimeFormat.ShortDatePattern
    // Ensure year is displayed as four digits.
    Regex.Replace(dFormat, "/yy$", "/yyyy")

current.DateTimeFormat.ShortDatePattern <- dFormat
let date2 = DateTime(1431, 9, 9, 16, 32, 18, hijri)
printfn $"{current} culture using the {getCalendarName hijri} calendar: {date2:g}"

// Restore previous culture.
Thread.CurrentThread.CurrentCulture <- dftCulture
printfn $"{CultureInfo.CurrentCulture} culture using the {getCalendarName CultureInfo.CurrentCulture.Calendar} calendar: {date2:g}"


// 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
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(1389, 5, 27, 16, 32, 0, persian)
      Console.WriteLine(date1.ToString())
      Console.WriteLine("{0}/{1}/{2} {3}{6}{4:D2}{6}{5:D2}", persian.GetMonth(date1), _
                                       persian.GetDayOfMonth(date1), _
                                       persian.GetYear(date1), _
                                       persian.GetHour(date1), _
                                       persian.GetMinute(date1), _
                                       persian.GetSecond(date1), _
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator)
      Console.WriteLine()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      current.DateTimeFormat.Calendar = hijri
      Dim dFormat As String = current.DateTimeFormat.ShortDatePattern
      ' Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy")
      current.DateTimeFormat.ShortDatePattern = dFormat
      Dim date2 As New Date(1431, 9, 9, 16, 32, 0, 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) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' 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

Poznámky

Vlastnost Kind je inicializována na Unspecified.

Povolené hodnoty pro year, montha day závisí na calendar. Pokud zadané datum a čas nelze vyjádřit pomocí , dojde k výjimce calendar.

Důležité

Éry v japonských kalendářích jsou založeny na vládě císaře, a proto se očekává, že se změní. Například 1. květen 2019 označil začátek éry Reiwa v JapaneseCalendar éře a JapaneseLunisolarCalendar. Taková změna éry ovlivní všechny aplikace, které tyto kalendáře používají. Další informace a informace o tom, jestli jsou vaše aplikace ovlivněné, najdete v tématu Zpracování nové éry v japonském kalendáři v .NET. Informace o testování aplikací v systémech Windows pro zajištění jejich připravenosti na změnu éry najdete v tématu Příprava aplikace na změnu japonské éry. Informace o funkcích v .NET, které podporují kalendáře s více érami, a osvědčené postupy při práci s kalendáři, které podporují více ér, najdete v tématu Práce s érami.

Obor System.Globalization názvů poskytuje několik kalendářů, včetně GregorianCalendar a JulianCalendar.

Viz také

Platí pro