DateTime Konstruktorer

Definition

Initierar en ny instans av DateTime strukturen.

Överlagringar

Name Description
DateTime(Int64)

Initierar en ny instans av DateTime strukturen till ett angivet antal fästingar.

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

Initierar en ny instans av DateTime strukturen till det angivna året, månad, dag, timme, minut, sekund, millisekunder och UTC (Coordinated Universal Time) eller lokal tid för den angivna kalendern.

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

Initierar en ny instans av DateTime strukturen till det angivna året, månad, dag, timme, minut, sekund, millisekunder och UTC (Coordinated Universal Time) eller lokal tid för den angivna kalendern.

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

Initierar en ny instans av DateTime strukturen till det angivna året, månad, dag, timme, minut, sekund, millisekunder och UTC (Coordinated Universal Time) eller lokal tid för den angivna kalendern.

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

Initierar en ny instans av DateTime strukturen till det angivna året, månad, dag, timme, minut, sekund, millisekunder och UTC (Coordinated Universal Time) eller lokal tid för den angivna kalendern.

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

Initierar en ny instans av DateTime strukturen till det angivna året, månaden, dagen, timmen, minuten, sekunden och millisekunderna för den angivna kalendern.

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

Initierar en ny instans av DateTime strukturen till det angivna året, månad, dag, timme, minut, sekund, millisekunder och UTC (Coordinated Universal Time) eller lokal tid.

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

Initierar en ny instans av DateTime strukturen till det angivna året, månaden, dagen, timmen, minuten, sekunden och millisekunderna.

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

Initierar en ny instans av DateTime strukturen till det angivna året, månad, dag, timme, minut, sekund, millisekunder och UTC (Coordinated Universal Time) eller lokal tid för den angivna kalendern.

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

Initierar en ny instans av DateTime strukturen till det angivna året, månaden, dagen, timmen, minuten, sekunden och den samordnade universella tiden (UTC) eller lokal tid.

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

Initierar en ny instans av DateTime strukturen till det angivna året, månaden, dagen, timmen, minuten och sekunden.

DateTime(Int32, Int32, Int32, Calendar)

Initierar en ny instans av DateTime strukturen till det angivna året, månaden och dagen för den angivna kalendern.

DateTime(Int32, Int32, Int32)

Initierar en ny instans av DateTime strukturen till det angivna året, månaden och dagen.

DateTime(DateOnly, TimeOnly, DateTimeKind)

Initierar en ny instans av DateTime strukturen till den angivna DateOnly och TimeOnly respekterar den angivna DateTimeKind.

DateTime(Int64, DateTimeKind)

Initierar en ny instans av DateTime strukturen till ett angivet antal tick och till Coordinated Universal Time (UTC) eller lokal tid.

DateTime(DateOnly, TimeOnly)

Initierar en ny instans av DateTime strukturen till angiven DateOnly och TimeOnly. Den nya instansen har typen Unspecified .

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

Initierar en ny instans av DateTime strukturen till angivet år, månad, dag, timme, minut och sekund för den angivna kalendern.

DateTime(Int64)

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till ett angivet antal fästingar.

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

Parametrar

ticks
Int64

Ett datum och en tid uttryckt i antalet intervall på 100 nanosekunder som har förflutit sedan den 1 januari 0001 kl. 00:00:00.000 i den gregorianska kalendern.

Undantag

ticks är mindre än DateTime.MinValue eller större än DateTime.MaxValue.

Exempel

I följande exempel visas en av konstruktorerna DateTime .

// 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.
'

Kommentarer

Egenskapen Kind initieras till Unspecified.

För program där portabilitet för datum- och tidsdata eller en begränsad grad av tidszonsmedvetenhet är viktigt kan du använda motsvarande DateTimeOffset konstruktor.

Gäller för

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

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till det angivna året, månad, dag, timme, minut, sekund, millisekunder och UTC (Coordinated Universal Time) eller lokal tid för den angivna kalendern.

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)

Parametrar

year
Int32

Året (1 till och med antalet år i calendar).

month
Int32

Månaden (1 till och med antalet månader i calendar).

day
Int32

Dagen (1 till och med antalet dagar i month).

hour
Int32

Timmarna (0 till 23).

minute
Int32

Minuterna (0 till 59).

second
Int32

Sekunderna (0 till 59).

millisecond
Int32

Millisekunderna (0 till 999).

microsecond
Int32

Mikrosekunderna (0 till 999).

calendar
Calendar

Kalendern som används för att tolka year, monthoch day.

Undantag

calendar är null

year inte finns i intervallet som stöds av calendar.

-eller-

month är mindre än 1 eller större än antalet månader i calendar.

-eller-

day är mindre än 1 eller större än antalet dagar i month.

-eller-

hour är mindre än 0 eller större än 23.

-eller-

minute är mindre än 0 eller större än 59.

-eller-

second är mindre än 0 eller större än 59.

-eller-

millisecond är mindre än 0 eller större än 999.

-eller-

microsecond är mindre än 0 eller större än 999.

Kommentarer

De tillåtna värdena för yearparametrarna , monthoch day beror på parametern calendar . Ett undantag utlöses om det angivna datumet och tiden inte kan uttryckas med hjälp av calendar.

För program där portabilitet för datum- och tidsdata eller en begränsad grad av tidszonsmedvetenhet är viktigt kan du använda motsvarande DateTimeOffset konstruktor.

Gäller för

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

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till det angivna året, månad, dag, timme, minut, sekund, millisekunder och UTC (Coordinated Universal Time) eller lokal tid för den angivna kalendern.

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)

Parametrar

year
Int32

Året (1 till 9999).

month
Int32

Månaden (1 till 12).

day
Int32

Dagen (1 till och med antalet dagar i month).

hour
Int32

Timmarna (0 till 23).

minute
Int32

Minuterna (0 till 59).

second
Int32

Sekunderna (0 till 59).

millisecond
Int32

Millisekunderna (0 till 999).

microsecond
Int32

Mikrosekunderna (0 till 999).

kind
DateTimeKind

Ett av uppräkningsvärdena som anger om , , , , , och yearmonth anger en lokal tid, Coordinated Universal Time (UTC) eller ingetdera. dayhourminutesecondmillisecond

Undantag

year är mindre än 1 eller större än 9999.

-eller-

month är mindre än 1 eller större än 12.

-eller-

day är mindre än 1 eller större än antalet dagar i month.

-eller-

hour är mindre än 0 eller större än 23.

-eller-

minute är mindre än 0 eller större än 59.

-eller-

second är mindre än 0 eller större än 59.

-eller-

millisecond är mindre än 0 eller större än 999.

-eller-

microsecond är mindre än 0 eller större än 999.

kind är inte ett av DateTimeKind värdena.

Kommentarer

Konstruktorn tolkar year, month och day som ett år, månad och dag i den gregorianska kalendern. Om du vill instansiera ett DateTime värde med hjälp av året, månaden och dagen i en annan kalender anropar DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) du konstruktorn.

För program där portabilitet för datum- och tidsdata eller en begränsad grad av tidszonsmedvetenhet är viktigt kan du använda motsvarande DateTimeOffset konstruktor.

Gäller för

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

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till det angivna året, månad, dag, timme, minut, sekund, millisekunder och UTC (Coordinated Universal Time) eller lokal tid för den angivna kalendern.

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)

Parametrar

year
Int32

Året (1 till och med antalet år i calendar).

month
Int32

Månaden (1 till och med antalet månader i calendar).

day
Int32

Dagen (1 till och med antalet dagar i month).

hour
Int32

Timmarna (0 till 23).

minute
Int32

Minuterna (0 till 59).

second
Int32

Sekunderna (0 till 59).

millisecond
Int32

Millisekunderna (0 till 999).

calendar
Calendar

Kalendern som används för att tolka year, monthoch day.

kind
DateTimeKind

Ett av uppräkningsvärdena som anger om , , , , , och yearmonth anger en lokal tid, Coordinated Universal Time (UTC) eller ingetdera. dayhourminutesecondmillisecond

Undantag

calendar är null.

year inte finns i intervallet som stöds av calendar.

-eller-

month är mindre än 1 eller större än antalet månader i calendar.

-eller-

day är mindre än 1 eller större än antalet dagar i month.

-eller-

hour är mindre än 0 eller större än 23.

-eller-

minute är mindre än 0 eller större än 59.

-eller-

second är mindre än 0 eller större än 59.

-eller-

millisecond är mindre än 0 eller större än 999.

kind är inte ett av DateTimeKind värdena.

Exempel

I följande exempel anropas DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) konstruktorn två gånger för att instansiera två DateTime värden. Det första anropet instansierar ett DateTime värde med hjälp av ett PersianCalendar objekt. Eftersom den persiska kalendern inte kan anges som standardkalender för en kultur, kräver visning av ett datum i den persiska kalendern enskilda anrop till dess PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonthoch PersianCalendar.GetYear -metoder. Det andra anropet till konstruktorn instansierar ett DateTime värde med hjälp av ett HijriCalendar objekt. Exemplet ändrar den aktuella kulturen till arabiska (Syrien) och ändrar den aktuella kulturens standardkalender till Hijri-kalendern. Eftersom Hijri är den aktuella kulturens standardkalender använder metoden den Console.WriteLine för att formatera datumet. När den tidigare aktuella kulturen (som är engelska (United States) i det här fallet återställs använder metoden Console.WriteLine den aktuella kulturens standardkalender för gregoriansk formatering av datumet.

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

Kommentarer

De tillåtna värdena för yearparametrarna , monthoch day beror på parametern calendar . Ett undantag utlöses om det angivna datumet och tiden inte kan uttryckas med hjälp av calendar.

För program där portabilitet för datum- och tidsdata eller en begränsad grad av tidszonsmedvetenhet är viktigt kan du använda motsvarande DateTimeOffset konstruktor.

Important

Epoker i de japanska kalendrarna baseras på kejsarens regeringstid och förväntas därför förändras. Den 1 maj 2019 markerade till exempel början av Reiwa-eran i JapaneseCalendar och JapaneseLunisolarCalendar. En sådan ändring av era påverkar alla program som använder dessa kalendrar. Mer information och för att avgöra om dina program påverkas finns i Hantera en ny era i den japanska kalendern i .NET. Information om hur du testar dina program i Windows-system för att säkerställa att de är redo för tidsändringen finns i Förbereda ditt program för ändringen av den japanska eran. Funktioner i .NET som stöder kalendrar med flera epoker och bästa praxis när du arbetar med kalendrar som stöder flera epoker finns i Arbeta med epoker.

Namnområdet System.Globalization innehåller flera kalendrar, inklusive GregorianCalendar och JulianCalendar.

Gäller för

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

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till det angivna året, månad, dag, timme, minut, sekund, millisekunder och UTC (Coordinated Universal Time) eller lokal tid för den angivna kalendern.

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)

Parametrar

year
Int32

Året (1 till 9999).

month
Int32

Månaden (1 till 12).

day
Int32

Dagen (1 till och med antalet dagar i month).

hour
Int32

Timmarna (0 till 23).

minute
Int32

Minuterna (0 till 59).

second
Int32

Sekunderna (0 till 59).

millisecond
Int32

Millisekunderna (0 till 999).

microsecond
Int32

Mikrosekunderna (0 till 999).

Undantag

year är mindre än 1 eller större än 9999.

-eller-

month är mindre än 1 eller större än 12.

-eller-

day är mindre än 1 eller större än antalet dagar i month.

-eller-

hour är mindre än 0 eller större än 23.

-eller-

minute är mindre än 0 eller större än 59.

-eller-

second är mindre än 0 eller större än 59.

-eller-

millisecond är mindre än 0 eller större än 999.

-eller-

microsecond är mindre än 0 eller större än 999.

Kommentarer

Konstruktorn tolkar year, month och day som ett år, månad och dag i den gregorianska kalendern. Om du vill instansiera ett DateTime värde med hjälp av året, månaden och dagen i en annan kalender anropar DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) du konstruktorn.

Egenskapen Kind initieras till Unspecified.

För program där portabilitet för datum- och tidsdata eller en begränsad grad av tidszonsmedvetenhet är viktigt kan du använda motsvarande DateTimeOffset konstruktor.

Gäller för

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

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till det angivna året, månaden, dagen, timmen, minuten, sekunden och millisekunderna för den angivna kalendern.

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)

Parametrar

year
Int32

Året (1 till och med antalet år i calendar).

month
Int32

Månaden (1 till och med antalet månader i calendar).

day
Int32

Dagen (1 till och med antalet dagar i month).

hour
Int32

Timmarna (0 till 23).

minute
Int32

Minuterna (0 till 59).

second
Int32

Sekunderna (0 till 59).

millisecond
Int32

Millisekunderna (0 till 999).

calendar
Calendar

Kalendern som används för att tolka year, monthoch day.

Undantag

calendar är null.

year inte finns i intervallet som stöds av calendar.

-eller-

month är mindre än 1 eller större än antalet månader i calendar.

-eller-

day är mindre än 1 eller större än antalet dagar i month.

-eller-

hour är mindre än 0 eller större än 23.

-eller-

minute är mindre än 0 eller större än 59.

-eller-

second är mindre än 0 eller större än 59.

-eller-

millisecond är mindre än 0 eller större än 999.

Exempel

I följande exempel anropas DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) konstruktorn två gånger för att instansiera två DateTime värden. Det första anropet instansierar ett DateTime värde med hjälp av ett PersianCalendar objekt. Eftersom den persiska kalendern inte kan anges som standardkalender för en kultur, kräver visning av ett datum i den persiska kalendern enskilda anrop till dess PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonthoch PersianCalendar.GetYear -metoder. Det andra anropet till konstruktorn instansierar ett DateTime värde med hjälp av ett HijriCalendar objekt. Exemplet ändrar den aktuella kulturen till arabiska (Syrien) och ändrar den aktuella kulturens standardkalender till Hijri-kalendern. Eftersom Hijri är den aktuella kulturens standardkalender använder metoden den Console.WriteLine för att formatera datumet. När den tidigare aktuella kulturen (som är engelska (United States) i det här fallet återställs använder metoden Console.WriteLine den aktuella kulturens standardkalender för gregoriansk formatering av datumet.

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

Kommentarer

Egenskapen Kind initieras till Unspecified.

De tillåtna värdena för year, monthoch day är beroende calendarav . Ett undantag utlöses om det angivna datumet och tiden inte kan uttryckas med hjälp av calendar.

För program där portabilitet för datum- och tidsdata eller en begränsad grad av tidszonsmedvetenhet är viktigt kan du använda motsvarande DateTimeOffset konstruktor.

Important

Epoker i de japanska kalendrarna baseras på kejsarens regeringstid och förväntas därför förändras. Den 1 maj 2019 markerade till exempel början av Reiwa-eran i JapaneseCalendar och JapaneseLunisolarCalendar. En sådan ändring av era påverkar alla program som använder dessa kalendrar. Mer information och för att avgöra om dina program påverkas finns i Hantera en ny era i den japanska kalendern i .NET. Information om hur du testar dina program i Windows-system för att säkerställa att de är redo för tidsändringen finns i Förbereda ditt program för ändringen av den japanska eran. Funktioner i .NET som stöder kalendrar med flera epoker och bästa praxis när du arbetar med kalendrar som stöder flera epoker finns i Arbeta med epoker.

Namnområdet System.Globalization innehåller flera kalendrar, inklusive GregorianCalendar och JulianCalendar.

Se även

Gäller för

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

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till det angivna året, månad, dag, timme, minut, sekund, millisekunder och UTC (Coordinated Universal Time) eller lokal tid.

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)

Parametrar

year
Int32

Året (1 till 9999).

month
Int32

Månaden (1 till 12).

day
Int32

Dagen (1 till och med antalet dagar i month).

hour
Int32

Timmarna (0 till 23).

minute
Int32

Minuterna (0 till 59).

second
Int32

Sekunderna (0 till 59).

millisecond
Int32

Millisekunderna (0 till 999).

kind
DateTimeKind

Ett av uppräkningsvärdena som anger om , , , , , och yearmonth anger en lokal tid, Coordinated Universal Time (UTC) eller ingetdera. dayhourminutesecondmillisecond

Undantag

year är mindre än 1 eller större än 9999.

-eller-

month är mindre än 1 eller större än 12.

-eller-

day är mindre än 1 eller större än antalet dagar i month.

-eller-

hour är mindre än 0 eller större än 23.

-eller-

minute är mindre än 0 eller större än 59.

-eller-

second är mindre än 0 eller större än 59.

-eller-

millisecond är mindre än 0 eller större än 999.

kind är inte ett av DateTimeKind värdena.

Exempel

I följande exempel används DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) konstruktorn för att instansiera ett DateTime värde.

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

Kommentarer

Konstruktorn tolkaryear , monthoch day som ett år, en månad och en dag i den gregorianska kalendern. Anropa konstruktorn om du vill instansiera ett DateTime värde med hjälp av året, månaden och dagen i en annan kalender DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) .

För program där portabilitet för datum- och tidsdata eller en begränsad grad av tidszonsmedvetenhet är viktigt kan du använda motsvarande DateTimeOffset konstruktor.

Gäller för

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

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till det angivna året, månaden, dagen, timmen, minuten, sekunden och millisekunderna.

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)

Parametrar

year
Int32

Året (1 till 9999).

month
Int32

Månaden (1 till 12).

day
Int32

Dagen (1 till och med antalet dagar i month).

hour
Int32

Timmarna (0 till 23).

minute
Int32

Minuterna (0 till 59).

second
Int32

Sekunderna (0 till 59).

millisecond
Int32

Millisekunderna (0 till 999).

Undantag

year är mindre än 1 eller större än 9999.

-eller-

month är mindre än 1 eller större än 12.

-eller-

day är mindre än 1 eller större än antalet dagar i month.

-eller-

hour är mindre än 0 eller större än 23.

-eller-

minute är mindre än 0 eller större än 59.

-eller-

second är mindre än 0 eller större än 59.

-eller-

millisecond är mindre än 0 eller större än 999.

Exempel

I följande exempel används DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) konstruktorn för att instansiera ett DateTime värde.

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

Kommentarer

Konstruktorn tolkaryear , monthoch day som ett år, en månad och en dag i den gregorianska kalendern. Anropa konstruktorn om du vill instansiera ett DateTime värde med hjälp av året, månaden och dagen i en annan kalender DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) .

Egenskapen Kind initieras till Unspecified.

För program där portabilitet för datum- och tidsdata eller en begränsad grad av tidszonsmedvetenhet är viktigt kan du använda motsvarande DateTimeOffset konstruktor.

Se även

Gäller för

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

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till det angivna året, månad, dag, timme, minut, sekund, millisekunder och UTC (Coordinated Universal Time) eller lokal tid för den angivna kalendern.

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)

Parametrar

year
Int32

Året (1 till och med antalet år i calendar).

month
Int32

Månaden (1 till och med antalet månader i calendar).

day
Int32

Dagen (1 till och med antalet dagar i month).

hour
Int32

Timmarna (0 till 23).

minute
Int32

Minuterna (0 till 59).

second
Int32

Sekunderna (0 till 59).

millisecond
Int32

Millisekunderna (0 till 999).

microsecond
Int32

Mikrosekunderna (0 till 999).

calendar
Calendar

Kalendern som används för att tolka year, monthoch day.

kind
DateTimeKind

Ett av uppräkningsvärdena som anger om , , , , , och yearmonth anger en lokal tid, Coordinated Universal Time (UTC) eller ingetdera. dayhourminutesecondmillisecond

Undantag

calendar är null

year inte finns i intervallet som stöds av calendar.

-eller-

month är mindre än 1 eller större än antalet månader i calendar.

-eller-

day är mindre än 1 eller större än antalet dagar i month.

-eller-

hour är mindre än 0 eller större än 23.

-eller-

minute är mindre än 0 eller större än 59.

-eller-

second är mindre än 0 eller större än 59.

-eller-

millisecond är mindre än 0 eller större än 999.

-eller-

microsecond är mindre än 0 eller större än 999.

kind är inte ett av DateTimeKind värdena.

Kommentarer

De tillåtna värdena för yearparametrarna , monthoch day beror på parametern calendar . Ett undantag utlöses om det angivna datumet och tiden inte kan uttryckas med hjälp av calendar.

För program där portabilitet för datum- och tidsdata eller en begränsad grad av tidszonsmedvetenhet är viktigt kan du använda motsvarande DateTimeOffset konstruktor.

Gäller för

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

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till det angivna året, månaden, dagen, timmen, minuten, sekunden och den samordnade universella tiden (UTC) eller lokal tid.

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)

Parametrar

year
Int32

Året (1 till 9999).

month
Int32

Månaden (1 till 12).

day
Int32

Dagen (1 till och med antalet dagar i month).

hour
Int32

Timmarna (0 till 23).

minute
Int32

Minuterna (0 till 59).

second
Int32

Sekunderna (0 till 59).

kind
DateTimeKind

Ett av uppräkningsvärdena som anger om year, month, day, hourminute och second anger en lokal tid, UTC (Coordinated Universal Time) eller ingetdera.

Undantag

year är mindre än 1 eller större än 9999.

-eller-

month är mindre än 1 eller större än 12.

-eller-

day är mindre än 1 eller större än antalet dagar i month.

-eller-

hour är mindre än 0 eller större än 23.

-eller-

minute är mindre än 0 eller större än 59.

-eller-

second är mindre än 0 eller större än 59.

kind är inte ett av DateTimeKind värdena.

Exempel

I följande exempel används DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) konstruktorn för att instansiera ett DateTime värde.

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

Kommentarer

Konstruktorn tolkaryear , monthoch day som ett år, en månad och en dag i den gregorianska kalendern. Anropa konstruktorn om du vill instansiera ett DateTime värde med hjälp av året, månaden och dagen i en annan kalender DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) .

För program där portabilitet för datum- och tidsdata eller en begränsad grad av tidszonsmedvetenhet är viktigt kan du använda motsvarande DateTimeOffset konstruktor.

Gäller för

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

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till det angivna året, månaden, dagen, timmen, minuten och sekunden.

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)

Parametrar

year
Int32

Året (1 till 9999).

month
Int32

Månaden (1 till 12).

day
Int32

Dagen (1 till och med antalet dagar i month).

hour
Int32

Timmarna (0 till 23).

minute
Int32

Minuterna (0 till 59).

second
Int32

Sekunderna (0 till 59).

Undantag

year är mindre än 1 eller större än 9999.

-eller-

month är mindre än 1 eller större än 12.

-eller-

day är mindre än 1 eller större än antalet dagar i month.

-eller-

hour är mindre än 0 eller större än 23.

-eller-

minute är mindre än 0 eller större än 59.

-eller-

second är mindre än 0 eller större än 59.

Exempel

I följande exempel används DateTime konstruktorn för att instansiera ett DateTime värde.

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

Kommentarer

Egenskapen Kind initieras till Unspecified.

Konstruktorn tolkaryear , monthoch day som ett år, en månad och en dag i den gregorianska kalendern. Anropa konstruktorn om du vill instansiera ett DateTime värde med hjälp av året, månaden och dagen i en annan kalender DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) .

För program där portabilitet för datum- och tidsdata eller en begränsad grad av tidszonsmedvetenhet är viktigt kan du använda motsvarande DateTimeOffset konstruktor.

Gäller för

DateTime(Int32, Int32, Int32, Calendar)

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till det angivna året, månaden och dagen för den angivna kalendern.

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)

Parametrar

year
Int32

Året (1 till och med antalet år i calendar).

month
Int32

Månaden (1 till och med antalet månader i calendar).

day
Int32

Dagen (1 till och med antalet dagar i month).

calendar
Calendar

Kalendern som används för att tolka year, monthoch day.

Undantag

calendar är null.

year inte finns i intervallet som stöds av calendar.

-eller-

month är mindre än 1 eller större än antalet månader i calendar.

-eller-

day är mindre än 1 eller större än antalet dagar i month.

Exempel

I följande exempel anropas DateTime(Int32, Int32, Int32, Calendar) konstruktorn två gånger för att instansiera två DateTime värden. Det första anropet instansierar ett DateTime värde med hjälp av ett PersianCalendar objekt. Eftersom den persiska kalendern inte kan anges som standardkalender för en kultur, kräver visning av ett datum i den persiska kalendern enskilda anrop till dess PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonthoch PersianCalendar.GetYear -metoder. Det andra anropet till konstruktorn instansierar ett DateTime värde med hjälp av ett HijriCalendar objekt. Exemplet ändrar den aktuella kulturen till arabiska (Syrien) och ändrar den aktuella kulturens standardkalender till Hijri-kalendern. Eftersom Hijri är den aktuella kulturens standardkalender använder metoden den Console.WriteLine för att formatera datumet. När den tidigare aktuella kulturen (som är engelska (United States) i det här fallet återställs använder metoden Console.WriteLine den aktuella kulturens standardkalender för gregoriansk formatering av datumet.

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

Kommentarer

Tiden på dagen för resultatet DateTime är midnatt (00:00:00). Egenskapen Kind initieras till Unspecified.

De tillåtna värdena för year, monthoch day är beroende calendarav . Ett undantag utlöses om det angivna datumet och tiden inte kan uttryckas med hjälp av calendar.

Important

Epoker i de japanska kalendrarna baseras på kejsarens regeringstid och förväntas därför förändras. Den 1 maj 2019 markerade till exempel början av Reiwa-eran i JapaneseCalendar och JapaneseLunisolarCalendar. En sådan ändring av era påverkar alla program som använder dessa kalendrar. Mer information och för att avgöra om dina program påverkas finns i Hantera en ny era i den japanska kalendern i .NET. Information om hur du testar dina program i Windows-system för att säkerställa att de är redo för tidsändringen finns i Förbereda ditt program för ändringen av den japanska eran. Funktioner i .NET som stöder kalendrar med flera epoker och bästa praxis när du arbetar med kalendrar som stöder flera epoker finns i Arbeta med epoker.

Namnområdet System.Globalization innehåller flera kalendrar, inklusive GregorianCalendar och JulianCalendar.

Se även

Gäller för

DateTime(Int32, Int32, Int32)

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till det angivna året, månaden och dagen.

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)

Parametrar

year
Int32

Året (1 till 9999).

month
Int32

Månaden (1 till 12).

day
Int32

Dagen (1 till och med antalet dagar i month).

Undantag

year är mindre än 1 eller större än 9999.

-eller-

month är mindre än 1 eller större än 12.

-eller-

day är mindre än 1 eller större än antalet dagar i month.

Exempel

I följande exempel används DateTime(Int32, Int32, Int32) konstruktorn för att instansiera ett DateTime värde. Exemplet visar också att den här överbelastningen skapar ett DateTime värde vars tidskomponent är lika med midnatt (eller 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

Kommentarer

Konstruktorn tolkar year, month, och day som ett år, en månad och en dag i den gregorianska kalendern. Anropa konstruktorn om du vill instansiera ett DateTime värde med hjälp av året, månaden och dagen i en annan kalender DateTime(Int32, Int32, Int32, Calendar) .

Tiden på dagen för resultatet DateTime är midnatt (00:00:00). Egenskapen Kind initieras till DateTimeKind.Unspecified.

Gäller för

DateTime(DateOnly, TimeOnly, DateTimeKind)

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till den angivna DateOnly och TimeOnly respekterar den angivna 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)

Parametrar

date
DateOnly

Datumdelen.

time
TimeOnly

Tidsdelen.

kind
DateTimeKind

Ett av uppräkningsvärdena som anger om date och time anger en lokal tid, UTC (Coordinated Universal Time) eller ingetdera.

Gäller för

DateTime(Int64, DateTimeKind)

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till ett angivet antal tick och till Coordinated Universal Time (UTC) eller lokal tid.

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)

Parametrar

ticks
Int64

Ett datum och en tid uttryckt i antalet intervall på 100 nanosekunder som har förflutit sedan den 1 januari 0001 kl. 00:00:00.000 i den gregorianska kalendern.

kind
DateTimeKind

Ett av uppräkningsvärdena som anger om ticks anger en lokal tid, UTC (Coordinated Universal Time) eller ingetdera.

Undantag

ticks är mindre än DateTime.MinValue eller större än DateTime.MaxValue.

kind är inte ett av DateTimeKind värdena.

Kommentarer

För program där portabilitet för datum- och tidsdata eller en begränsad grad av tidszonsmedvetenhet är viktigt kan du använda motsvarande DateTimeOffset konstruktor.

Gäller för

DateTime(DateOnly, TimeOnly)

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till angiven DateOnly och TimeOnly. Den nya instansen har typen 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)

Parametrar

date
DateOnly

Datumdelen.

time
TimeOnly

Tidsdelen.

Gäller för

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

Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs
Källa:
DateTime.cs

Initierar en ny instans av DateTime strukturen till angivet år, månad, dag, timme, minut och sekund för den angivna kalendern.

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)

Parametrar

year
Int32

Året (1 till och med antalet år i calendar).

month
Int32

Månaden (1 till och med antalet månader i calendar).

day
Int32

Dagen (1 till och med antalet dagar i month).

hour
Int32

Timmarna (0 till 23).

minute
Int32

Minuterna (0 till 59).

second
Int32

Sekunderna (0 till 59).

calendar
Calendar

Kalendern som används för att tolka year, monthoch day.

Undantag

calendar är null.

year inte finns i intervallet som stöds av calendar.

-eller-

month är mindre än 1 eller större än antalet månader i calendar.

-eller-

day är mindre än 1 eller större än antalet dagar i month.

-eller-

hour är mindre än 0 eller större än 23

-eller-

minute är mindre än 0 eller större än 59.

-eller-

second är mindre än 0 eller större än 59.

Exempel

I följande exempel anropas DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) konstruktorn två gånger för att instansiera två DateTime värden. Det första anropet instansierar ett DateTime värde med hjälp av ett PersianCalendar objekt. Eftersom den persiska kalendern inte kan anges som standardkalender för en kultur, kräver visning av ett datum i den persiska kalendern enskilda anrop till dess PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonthoch PersianCalendar.GetYear -metoder. Det andra anropet till konstruktorn instansierar ett DateTime värde med hjälp av ett HijriCalendar objekt. Exemplet ändrar den aktuella kulturen till arabiska (Syrien) och ändrar den aktuella kulturens standardkalender till Hijri-kalendern. Eftersom Hijri är den aktuella kulturens standardkalender använder metoden den Console.WriteLine för att formatera datumet. När den tidigare aktuella kulturen (som är engelska (United States) i det här fallet återställs använder metoden Console.WriteLine den aktuella kulturens standardkalender för gregoriansk formatering av datumet.

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

Kommentarer

Egenskapen Kind initieras till Unspecified.

De tillåtna värdena för year, monthoch day är beroende calendarav . Ett undantag utlöses om det angivna datumet och tiden inte kan uttryckas med hjälp av calendar.

Important

Epoker i de japanska kalendrarna baseras på kejsarens regeringstid och förväntas därför förändras. Den 1 maj 2019 markerade till exempel början av Reiwa-eran i JapaneseCalendar och JapaneseLunisolarCalendar. En sådan ändring av era påverkar alla program som använder dessa kalendrar. Mer information och för att avgöra om dina program påverkas finns i Hantera en ny era i den japanska kalendern i .NET. Information om hur du testar dina program i Windows-system för att säkerställa att de är redo för tidsändringen finns i Förbereda ditt program för ändringen av den japanska eran. Funktioner i .NET som stöder kalendrar med flera epoker och bästa praxis när du arbetar med kalendrar som stöder flera epoker finns i Arbeta med epoker.

Namnområdet System.Globalization innehåller flera kalendrar, inklusive GregorianCalendar och JulianCalendar.

Se även

Gäller för