Standaardtekenreeksen voor datum- en tijdnotatie
Een standaardtekenreeks voor datum- en tijdnotatie gebruikt één teken als opmaakaanduiding om de tekstweergave van een DateTime of een DateTimeOffset waarde te definiëren. Een tekenreeks met datum- en tijdnotatie die meer dan één teken bevat, inclusief witruimte, wordt geïnterpreteerd als een aangepaste tekenreeks voor datum- en tijdnotatie. Een tekenreeks met een standaard- of aangepaste notatie kan op twee manieren worden gebruikt:
De tekenreeks definiëren die het resultaat is van een opmaakbewerking.
De tekstweergave definiëren van een datum- en tijdwaarde die kan worden geconverteerd naar een DateTime of DateTimeOffset waarde door een parseringsbewerking.
Hint
U kunt het Opmaakhulpprogramma downloaden, een .NET Windows Forms-toepassing waarmee u notatietekenreeksen kunt toepassen op numerieke waarden of datum- en tijdwaarden en de resultaattekenreeks kunt weergeven. Broncode is beschikbaar voor C#- en Visual Basic-.
Notitie
Enkele van de C#-voorbeelden in dit artikel worden uitgevoerd in de Try.NET inline coderunner en playground. Selecteer de knop uitvoeren om een voorbeeld uit te voeren in een interactief venster. Zodra u de code hebt uitgevoerd, kunt u deze wijzigen en de gewijzigde code uitvoeren door opnieuw uit te voeren. De gewijzigde code wordt uitgevoerd in het interactieve venster of, als de compilatie mislukt, worden alle C#-compilerfoutberichten weergegeven.
De lokale tijdzone van de Try.NET inline coderunner en speeltuin is Coordinated Universal Time of UTC. Dit kan van invloed zijn op het gedrag en de uitvoer van voorbeelden die de DateTime, DateTimeOffseten TimeZoneInfo typen en hun leden illustreren.
Tabel met opmaakaanduidingen
In de volgende tabel worden de standaardaanduidingen voor datum- en tijdnotaties beschreven. Tenzij anders vermeld, produceert een bepaalde standaardnotatie voor datum- en tijdnotatie een identieke tekenreeksweergave, ongeacht of deze wordt gebruikt met een DateTime of een DateTimeOffset waarde. Zie Eigenschappen van configuratiescherm en DateTimeFormatInfo voor meer informatie over het gebruik van tekenreeksen voor datum- en tijdnotatie.
Opmaakaanduiding | Beschrijving | Voorbeelden |
---|---|---|
"d" | Korte datumpatroon. Meer informatie:De korte datumnotatie ('d'). |
2009-06-15T13:45:30 -> 15-6-2009 (en-US) 2009-06-15T13:45:30 -> 15/06/2009 (fr-FR) 2009-06-15T13:45:30 -> 2009/06/15 (ja-JP) |
"D" | Lang datumpatroon. Meer informatie:De lange datumnotatie ("D"). |
2009-06-15T13:45:30 -> maandag 15 juni 2009 (en-US) 2009-06-15T13:45:30 -> понедельник, 15 июня 2009 г. (ru-RU) 2009-06-15T13:45:30 -> Montag, 15. Juni 2009 (de-DE) |
f | Patroon volledige datum/tijd (korte tijd). Meer informatie: De korte datumnotatie (f) voor de volledige datum. |
2009-06-15T13:45:30 -> maandag 15 juni 2009 1:45 uur (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 13:45 (sv-SE) 2009-06-15T13:45:30 -> Δευτέρα, 15 Ιουνιου 2009 1:45 μμ (el-GR) |
"F" | Patroon volledige datum/tijd (lange tijd). Meer informatie: De volledige datum lange tijdnotatie (F). |
2009-06-15T13:45:30 -> maandag 15 juni 2009 1:45:30 pm (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 13:45:30 (sv-SE) 2009-06-15T13:45:30 -> Δευτέρα, 15 Ιουνιου 2009 1:45:30 μμ (el-GR) |
"g" | Algemeen datum-/tijdpatroon (korte tijd). Meer informatie: De algemene datum korte tijdnotatie ('g'). |
2009-06-15T13:45:30 -> 15/15/2009 1:45 PM (en-US) 2009-06-15T13:45:30 -> 15/06/2009 13:45 (es-ES) 2009-06-15T13:45:30 -> 6/15 13:45 (zh-CN) |
"G" | Algemeen datum-/tijdpatroon (lange tijd). Meer informatie: De algemene datum lange tijdnotatie ('G'). |
2009-06-15T13:45:30 -> 15/15/2009 1:45:30 PM (en-US) 2009-06-15T13:45:30 -> 15/06/2009 13:45:30 (es-ES) 2009-06-15T13:45:30 -> 6/15 13:45:30 (zh-CN) |
"M", "m" | Patroon maand/dag. Meer informatie: De maand ('M', 'm') notatieaanduiding. |
2009-06-15T13:45:30 -> 15 juni (en-US) 2009-06-15T13:45:30 -> 15. juni (da-DK) 2009-06-15T13:45:30 -> 15 Juni (id-ID) |
"O", "o" | retourdatum/-tijdpatroon. Meer informatie: De round-trip ("O", "o") notatieaanduiding. |
DateTime waarden: 2009-06-15T13:45:30 (DateTimeKind.Local) --> 2009-06-15T13:45:30.0000000-07:00 2009-06-15T13:45:30 (DateTimeKind.Utc) --> 2009-06-15T13:45:30.0000000Z 2009-06-15T13:45:30 (DateTimeKind.Unspecified) --> 2009-06-15T13:45:30.00000000 DateTimeOffset waarden: 2009-06-15T13:45:30-07:00 --> 2009-06-15T13:45:30.0000000-07:000 |
"R", "r" | RFC1123 patroon. Meer informatie: De RFC1123 ('R', 'r')-opmaakaanduiding. |
DateTimeOffset invoer: 2009-06-15T13:45:30 -> ma, 15 juni 2009 20:45:30 GMT DateTime invoer: 2009-06-15T13:45:30 -> ma, 15 juni 2009 13:45:30 GMT |
"s" | Sorteerbaar datum-/tijdpatroon. Meer informatie: De sorteerbare notatieaanduiding ('s'). |
2009-06-15T13:45:30 (DateTimeKind.Local) -> 2009-06-15T13:45:30 2009-06-15T13:45:30 (DateTimeKind.Utc) -> 2009-06-15T13:45:30 |
"t" | Korte tijdpatroon. Meer informatie: De korte tijdnotatieaanduiding ('t'). |
2009-06-15T13:45:30 -> 1:45 PM (en-US) 2009-06-15T13:45:30 -> 13:45 (hr-HR) 2009-06-15T13:45:30 -> 01:45 م (ar-EG) |
"T" | Lange tijdpatroon. Meer informatie: De lange tijdnotatieaanduiding (T). |
2009-06-15T13:45:30 -> 1:45:30 pm (en-US) 2009-06-15T13:45:30 -> 13:45:30 (hr-HR) 2009-06-15T13:45:30 -> 01:45:30 م (ar-EG) |
"u" | Universeel sorteerbaar datum-/tijdpatroon. Meer informatie: De universal sortable ("u")-notatieaanduiding. |
Met een DateTime waarde: 2009-06-15T13:45:30 -> 2009-06-15 13:45:30Z Met een DateTimeOffset waarde: 2009-06-15T13:45:30 -> 2009-06-15 20:45:30Z |
"U" | Universeel patroon voor volledige datum/tijd. Meer informatie: De universele volledige indeling (U). |
2009-06-15T13:45:30 -> maandag 15 juni 2009 8:45:30 uur (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 20:45:30 (sv-SE) 2009-06-15T13:45:30 -> Δευτέρα, 15 Ιουνου 2009 8:45:30 μμ (el-GR) |
"Y", "y" | Jaarmaandpatroon. Meer informatie: De jaarmaand (Y)-notatieaanduiding. |
2009-06-15T13:45:30 -> juni 2009 (en-US) 2009-06-15T13:45:30 -> juni 2009 (da-DK) 2009-06-15T13:45:30 -> Juni 2009 (id-ID) |
Elk ander teken met één teken | Onbekende aanduiding. | Genereert een runtime-FormatException. |
Hoe tekenreeksen met standaardindeling werken
In een opmaakbewerking is een standaardnotatietekenreeks gewoon een alias voor een aangepaste notatietekenreeks. Het voordeel van het gebruik van een alias om te verwijzen naar een tekenreeks met een aangepaste indeling is dat, hoewel de alias invariant blijft, de tekenreeks voor aangepaste notatie zelf kan variëren. Dit is belangrijk omdat de tekenreeksweergaven van datum- en tijdwaarden doorgaans per cultuur verschillen. De tekenreeks 'd' standaardnotatie geeft bijvoorbeeld aan dat een datum- en tijdwaarde moet worden weergegeven met behulp van een kort datumpatroon. Voor de invariante cultuur is dit patroon "MM/dd/jjjj". Voor de fr-FR-cultuur is het "dd/MM/jjjj". Voor de ja-JP-cultuur is het "jjjj/MM/dd".
Als een standaardnotatietekenreeks in een opmaakbewerking wordt toegewezen aan de tekenreeks voor aangepaste opmaak van een bepaalde cultuur, kan uw toepassing de specifieke cultuur definiëren waarvan tekenreeksen voor aangepaste opmaak op een van deze manieren worden gebruikt:
U kunt de standaardcultuur (of huidige) gebruiken. In het volgende voorbeeld wordt een datum weergegeven met de korte datumnotatie van de huidige cultuur. In dit geval is de huidige cultuur en-US.
// Display using current (en-us) culture's short date format DateTime thisDate = new DateTime(2008, 3, 15); Console.WriteLine(thisDate.ToString("d")); // Displays 3/15/2008
' Display using current (en-us) culture's short date format Dim thisDate As Date = #03/15/2008# Console.WriteLine(thisDate.ToString("d")) ' Displays 3/15/2008
U kunt een CultureInfo object doorgeven dat de cultuur vertegenwoordigt waarvan de opmaak moet worden gebruikt voor een methode met een IFormatProvider parameter. In het volgende voorbeeld wordt een datum weergegeven met behulp van de korte datumnotatie van de pt-BR-cultuur.
// Display using pt-BR culture's short date format DateTime thisDate = new DateTime(2008, 3, 15); CultureInfo culture = new CultureInfo("pt-BR"); Console.WriteLine(thisDate.ToString("d", culture)); // Displays 15/3/2008
' Display using pt-BR culture's short date format Dim thisDate As Date = #03/15/2008# Dim culture As New CultureInfo("pt-BR") Console.WriteLine(thisDate.ToString("d", culture)) ' Displays 15/3/2008
U kunt een DateTimeFormatInfo-object doorgeven dat opmaakgegevens biedt aan een methode met een IFormatProvider parameter. In het volgende voorbeeld wordt een datum weergegeven met behulp van de korte datumnotatie van een DateTimeFormatInfo-object voor de hr-HR cultuur.
// Display using date format information from hr-HR culture DateTime thisDate = new DateTime(2008, 3, 15); DateTimeFormatInfo fmt = (new CultureInfo("hr-HR")).DateTimeFormat; Console.WriteLine(thisDate.ToString("d", fmt)); // Displays 15.3.2008
' Display using date format information from hr-HR culture Dim thisDate As Date = #03/15/2008# Dim fmt As DateTimeFormatInfo = (New CultureInfo("hr-HR")).DateTimeFormat Console.WriteLine(thisDate.ToString("d", fmt)) ' Displays 15.3.2008
Notitie
Zie het onderwerp NumberFormatInfo klasse voor meer informatie over het aanpassen van de patronen of tekenreeksen die worden gebruikt bij het opmaken van datum- en tijdwaarden.
In sommige gevallen fungeert de standaardnotatietekenreeks als een handige afkorting voor een langere aangepaste notatietekenreeks die invariant is. Vier standaardnotatietekenreeksen vallen in deze categorie: 'O' (of 'o'), 'R' (of 'r'), 's' en 'u'. Deze tekenreeksen komen overeen met tekenreeksen met aangepaste notatie die zijn gedefinieerd door de invariante cultuur. Ze produceren tekenreeksweergaven van datum- en tijdwaarden die zijn bedoeld om identiek te zijn tussen culturen. De volgende tabel bevat informatie over deze vier standaardtekenreeksen voor datum- en tijdnotatie.
Tekenreeks met standaardindeling | Gedefinieerd door de eigenschap DateTimeFormatInfo.InvariantInfo | Tekenreeks voor aangepaste notatie |
---|---|---|
"O" of "o" | Geen | jjjj'-'MM'-'dd'T'UU':'mm':'ss'.' fffffffK |
"R" of "r" | RFC1123Pattern | ddd, dd MMM jjjj HH':'mm':'ss 'GMT' |
"s" | SortableDateTimePattern | jjjj'-'MM'-'dd'T'UU':'mm':'ss |
"u" | UniversalSortableDateTimePattern | jjjj'-'MM'-'dd HH':'mm':'ss'Z' |
Tekenreeksen met standaardindeling kunnen ook worden gebruikt in parseringsbewerkingen met de methoden DateTime.ParseExact of DateTimeOffset.ParseExact, waarvoor een invoertekenreeks exact moet voldoen aan een bepaald patroon om de parseringsbewerking te laten slagen. Veel tekenreeksen met standaardindeling worden toegewezen aan meerdere tekenreeksen voor aangepaste notaties, zodat een datum- en tijdwaarde in verschillende indelingen kan worden weergegeven en de parseringsbewerking nog steeds slaagt. U kunt de tekenreeks of tekenreeksen van de aangepaste notatie bepalen die overeenkomen met een standaardnotatietekenreeks door de methode DateTimeFormatInfo.GetAllDateTimePatterns(Char) aan te roepen. In het volgende voorbeeld worden de tekenreeksen voor aangepaste notatie weergegeven die zijn toegewezen aan de standaardnotatietekenreeks 'd' (korte datumpatroon).
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
Console.WriteLine("'d' standard format string:");
foreach (var customString in DateTimeFormatInfo.CurrentInfo.GetAllDateTimePatterns('d'))
Console.WriteLine($" {customString}");
}
}
// The example displays the following output:
// 'd' standard format string:
// M/d/yyyy
// M/d/yy
// MM/dd/yy
// MM/dd/yyyy
// yy/MM/dd
// yyyy-MM-dd
// dd-MMM-yy
Imports System.Globalization
Module Example
Public Sub Main()
Console.WriteLine("'d' standard format string:")
For Each customString In DateTimeFormatInfo.CurrentInfo.GetAllDateTimePatterns("d"c)
Console.WriteLine(" {0}", customString)
Next
End Sub
End Module
' The example displays the following output:
' 'd' standard format string:
' M/d/yyyy
' M/d/yy
' MM/dd/yy
' MM/dd/yyyy
' yy/MM/dd
' yyyy-MM-dd
' dd-MMM-yy
In de volgende secties worden de standaardopmaakaanduidingen voor DateTime en DateTimeOffset waarden beschreven.
Datumnotaties
Deze groep bevat de volgende indelingen:
De korte datumnotatie ('d')
De standaardnotatieaanduiding d vertegenwoordigt een aangepaste tekenreeks voor datum- en tijdnotatie die is gedefinieerd door de DateTimeFormatInfo.ShortDatePattern eigenschap van een specifieke cultuur. De tekenreeks voor aangepaste notatie die wordt geretourneerd door de eigenschap ShortDatePattern van de invariante cultuur is bijvoorbeeld 'MM/dd/jjjj'.
De volgende tabel bevat de DateTimeFormatInfo objecteigenschappen waarmee de opmaak van de geretourneerde tekenreeks wordt beheerd.
Vastgoed | Beschrijving |
---|---|
ShortDatePattern | Hiermee definieert u de algehele indeling van de resultaattekenreeks. |
DateSeparator | Hiermee definieert u de tekenreeks waarmee de onderdelen van het jaar, de maand en de dag van een datum worden gescheiden. |
In het volgende voorbeeld wordt de notatieaanduiding d gebruikt om een datum- en tijdwaarde weer te geven.
DateTime date1 = new DateTime(2008,4, 10);
Console.WriteLine(date1.ToString("d", DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008
Console.WriteLine(date1.ToString("d",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays 4/10/2008
Console.WriteLine(date1.ToString("d",
CultureInfo.CreateSpecificCulture("en-NZ")));
// Displays 10/04/2008
Console.WriteLine(date1.ToString("d",
CultureInfo.CreateSpecificCulture("de-DE")));
// Displays 10.04.2008
Dim date1 As Date = #4/10/2008#
Console.WriteLine(date1.ToString("d", DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008
Console.WriteLine(date1.ToString("d", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays 4/10/2008
Console.WriteLine(date1.ToString("d", _
CultureInfo.CreateSpecificCulture("en-NZ")))
' Displays 10/04/2008
Console.WriteLine(date1.ToString("d", _
CultureInfo.CreateSpecificCulture("de-DE")))
' Displays 10.04.2008
De lange datumnotatie ('D')
De standaardnotatieaanduiding D vertegenwoordigt een aangepaste tekenreeks voor datum- en tijdnotatie die is gedefinieerd door de huidige eigenschap DateTimeFormatInfo.LongDatePattern. De tekenreeks voor aangepaste notatie voor de invariante cultuur is bijvoorbeeld 'dddd, dd MMMM jjjj'.
De volgende tabel bevat de eigenschappen van het DateTimeFormatInfo-object waarmee de opmaak van de geretourneerde tekenreeks wordt beheerd.
Vastgoed | Beschrijving |
---|---|
LongDatePattern | Hiermee definieert u de algehele indeling van de resultaattekenreeks. |
DayNames | Hiermee definieert u de gelokaliseerde dagnamen die in de resultaattekenreeks kunnen worden weergegeven. |
MonthNames | Definieert de gelokaliseerde maandnamen die in de resultaattekenreeks kunnen worden weergegeven. |
In het volgende voorbeeld wordt de notatieaanduiding D gebruikt om een datum- en tijdwaarde weer te geven.
DateTime date1 = new DateTime(2008, 4, 10);
Console.WriteLine(date1.ToString("D",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008
Console.WriteLine(date1.ToString("D",
CultureInfo.CreateSpecificCulture("pt-BR")));
// Displays quinta-feira, 10 de abril de 2008
Console.WriteLine(date1.ToString("D",
CultureInfo.CreateSpecificCulture("es-MX")));
// Displays jueves, 10 de abril de 2008
Dim date1 As Date = #4/10/2008#
Console.WriteLine(date1.ToString("D", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008
Console.WriteLine(date1.ToString("D", _
CultureInfo.CreateSpecificCulture("pt-BR")))
' Displays quinta-feira, 10 de abril de 2008
Console.WriteLine(date1.ToString("D", _
CultureInfo.CreateSpecificCulture("es-MX")))
' Displays jueves, 10 de abril de 2008
Datum- en tijdnotaties
Deze groep bevat de volgende indelingen:
- De notatieaanduiding voor de volledige datumnotatie ('f')
- De notatieaanduiding voor de volledige datum ('F')
- De algemene datumnotatienotatie ('g')
- De algemene datum lange tijdnotatie ('G')
- De round-trip ('O', 'o') notatieaanduiding
- De indelingsaanduiding RFC1123 ("R", "r")
- De sorteerbare notatieaanduiding ('s')
- De universal sortable ("u")-notatieaanduiding
- De universal full ("U")-notatieaanduiding
De notatieaanduiding voor de volledige datumnotatie ('f')
De standaardnotatieaanduiding f vertegenwoordigt een combinatie van de lange datumpatronen ('D') en korte tijdpatronen ('t'), gescheiden door een spatie.
De resultaattekenreeks wordt beïnvloed door de opmaakgegevens van een specifiek DateTimeFormatInfo-object. De volgende tabel bevat de DateTimeFormatInfo objecteigenschappen waarmee de opmaak van de geretourneerde tekenreeks kan worden beheerd. De aangepaste indelingsaanduiding die wordt geretourneerd door de DateTimeFormatInfo.LongDatePattern en DateTimeFormatInfo.ShortTimePattern eigenschappen van sommige culturen maken mogelijk niet gebruik van alle eigenschappen.
Vastgoed | Beschrijving |
---|---|
LongDatePattern | Hiermee definieert u de notatie van het datumonderdeel van de resultaattekenreeks. |
ShortTimePattern | Hiermee definieert u de indeling van het tijdonderdeel van de resultaattekenreeks. |
DayNames | Hiermee definieert u de gelokaliseerde dagnamen die in de resultaattekenreeks kunnen worden weergegeven. |
MonthNames | Definieert de gelokaliseerde maandnamen die in de resultaattekenreeks kunnen worden weergegeven. |
TimeSeparator | Hiermee definieert u de tekenreeks die het uur, de minuut en de tweede onderdelen van een tijd scheidt. |
AMDesignator | Definieert de tekenreeks die tijden aangeeft van middernacht tot vóór de middag in een 12-uurs klok. |
PMDesignator | Hiermee definieert u de tekenreeks die tijden aangeeft van middag tot middernacht in een 12-uurs klok. |
In het volgende voorbeeld wordt de notatieaanduiding f gebruikt om een datum- en tijdwaarde weer te geven.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("f",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 6:30 AM
Console.WriteLine(date1.ToString("f",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays jeudi 10 avril 2008 06:30
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("f", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 6:30 AM
Console.WriteLine(date1.ToString("f", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays jeudi 10 avril 2008 06:30
De notatieaanduiding voor de volledige datum ('F')
De standaardnotatieaanduiding F vertegenwoordigt een aangepaste datum- en tijdnotatietekenreeks die is gedefinieerd door de huidige eigenschap DateTimeFormatInfo.FullDateTimePattern. De aangepaste notatietekenreeks voor de invariante cultuur is bijvoorbeeld 'dddd, dd MMMM jjjj UU:mm:ss'.
De volgende tabel bevat de DateTimeFormatInfo objecteigenschappen waarmee de opmaak van de geretourneerde tekenreeks kan worden beheerd. De aangepaste notatieaanduiding die wordt geretourneerd door de FullDateTimePattern eigenschap van sommige culturen, maakt mogelijk niet gebruik van alle eigenschappen.
Vastgoed | Beschrijving |
---|---|
FullDateTimePattern | Hiermee definieert u de algehele indeling van de resultaattekenreeks. |
DayNames | Hiermee definieert u de gelokaliseerde dagnamen die in de resultaattekenreeks kunnen worden weergegeven. |
MonthNames | Definieert de gelokaliseerde maandnamen die in de resultaattekenreeks kunnen worden weergegeven. |
TimeSeparator | Hiermee definieert u de tekenreeks die het uur, de minuut en de tweede onderdelen van een tijd scheidt. |
AMDesignator | Definieert de tekenreeks die tijden aangeeft van middernacht tot vóór de middag in een 12-uurs klok. |
PMDesignator | Hiermee definieert u de tekenreeks die tijden aangeeft van middag tot middernacht in een 12-uurs klok. |
In het volgende voorbeeld wordt de notatieaanduiding F gebruikt om een datum- en tijdwaarde weer te geven.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("F",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 6:30:00 AM
Console.WriteLine(date1.ToString("F",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays jeudi 10 avril 2008 06:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("F", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 6:30:00 AM
Console.WriteLine(date1.ToString("F", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays jeudi 10 avril 2008 06:30:00
De algemene datumnotatienotatie ('g')
De standaardnotatieaanduiding g vertegenwoordigt een combinatie van de korte datum ('d') en korte tijdpatronen ('t'), gescheiden door een spatie.
De resultaattekenreeks wordt beïnvloed door de opmaakgegevens van een specifiek DateTimeFormatInfo-object. De volgende tabel bevat de DateTimeFormatInfo objecteigenschappen waarmee de opmaak van de geretourneerde tekenreeks kan worden beheerd. De aangepaste notatieaanduiding die wordt geretourneerd door de DateTimeFormatInfo.ShortDatePattern en DateTimeFormatInfo.ShortTimePattern eigenschappen van sommige culturen maken mogelijk niet gebruik van alle eigenschappen.
Vastgoed | Beschrijving |
---|---|
ShortDatePattern | Hiermee definieert u de notatie van het datumonderdeel van de resultaattekenreeks. |
ShortTimePattern | Hiermee definieert u de indeling van het tijdonderdeel van de resultaattekenreeks. |
DateSeparator | Hiermee definieert u de tekenreeks waarmee de onderdelen van het jaar, de maand en de dag van een datum worden gescheiden. |
TimeSeparator | Hiermee definieert u de tekenreeks die het uur, de minuut en de tweede onderdelen van een tijd scheidt. |
AMDesignator | Definieert de tekenreeks die tijden aangeeft van middernacht tot vóór de middag in een 12-uurs klok. |
PMDesignator | Hiermee definieert u de tekenreeks die tijden aangeeft van middag tot middernacht in een 12-uurs klok. |
In het volgende voorbeeld wordt de notatieaanduiding g gebruikt om een datum- en tijdwaarde weer te geven.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("g",
DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008 06:30
Console.WriteLine(date1.ToString("g",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays 4/10/2008 6:30 AM
Console.WriteLine(date1.ToString("g",
CultureInfo.CreateSpecificCulture("fr-BE")));
// Displays 10/04/2008 6:30
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("g", _
DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008 06:30
Console.WriteLine(date1.ToString("g", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays 4/10/2008 6:30 AM
Console.WriteLine(date1.ToString("g", _
CultureInfo.CreateSpecificCulture("fr-BE")))
' Displays 10/04/2008 6:30
De algemene datum lange tijdnotatie ('G')
De standaardnotatieaanduiding G vertegenwoordigt een combinatie van de korte datum ('d') en lange tijdpatronen ('T'), gescheiden door een spatie.
De resultaattekenreeks wordt beïnvloed door de opmaakgegevens van een specifiek DateTimeFormatInfo-object. De volgende tabel bevat de DateTimeFormatInfo objecteigenschappen waarmee de opmaak van de geretourneerde tekenreeks kan worden beheerd. De aangepaste notatieaanduiding die wordt geretourneerd door de DateTimeFormatInfo.ShortDatePattern en DateTimeFormatInfo.LongTimePattern eigenschappen van sommige culturen maken mogelijk niet gebruik van alle eigenschappen.
Vastgoed | Beschrijving |
---|---|
ShortDatePattern | Hiermee definieert u de notatie van het datumonderdeel van de resultaattekenreeks. |
LongTimePattern | Hiermee definieert u de indeling van het tijdonderdeel van de resultaattekenreeks. |
DateSeparator | Hiermee definieert u de tekenreeks waarmee de onderdelen van het jaar, de maand en de dag van een datum worden gescheiden. |
TimeSeparator | Hiermee definieert u de tekenreeks die het uur, de minuut en de tweede onderdelen van een tijd scheidt. |
AMDesignator | Definieert de tekenreeks die tijden aangeeft van middernacht tot vóór de middag in een 12-uurs klok. |
PMDesignator | Hiermee definieert u de tekenreeks die tijden aangeeft van middag tot middernacht in een 12-uurs klok. |
In het volgende voorbeeld wordt de notatieaanduiding G gebruikt om een datum- en tijdwaarde weer te geven.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("G",
DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008 06:30:00
Console.WriteLine(date1.ToString("G",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays 4/10/2008 6:30:00 AM
Console.WriteLine(date1.ToString("G",
CultureInfo.CreateSpecificCulture("nl-BE")));
// Displays 10/04/2008 6:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("G", _
DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008 06:30:00
Console.WriteLine(date1.ToString("G", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays 4/10/2008 6:30:00 AM
Console.WriteLine(date1.ToString("G", _
CultureInfo.CreateSpecificCulture("nl-BE")))
' Displays 10/04/2008 6:30:00
De round-trip ('O', 'o') notatieaanduiding
De standaardnotatieaanduiding O of O vertegenwoordigt een aangepaste tekenreeks voor datum- en tijdnotatie met behulp van een patroon dat informatie over de tijdzone behoudt en een resultaattekenreeks verzendt die voldoet aan ISO 8601. Voor DateTime waarden is deze notatieaanduiding ontworpen om datum- en tijdwaarden samen met de eigenschap DateTime.Kind in tekst te behouden. De opgemaakte tekenreeks kan worden geparseerd met behulp van de methode DateTime.Parse(String, IFormatProvider, DateTimeStyles) of DateTime.ParseExact als de parameter styles
is ingesteld op DateTimeStyles.RoundtripKind.
De standaardnotatieaanduiding 'O' of 'o' komt overeen met de 'jjjj'-'MM'-'dd'T'HH':'mm':'ss'.' aangepaste notatietekenreeks voor fffffffK voor DateTime waarden en op de "jjjj"-'MM'-'dd'T'HH':'mm':'ss'.' fffffzzz" aangepaste notatietekenreeks voor DateTimeOffset waarden. In deze tekenreeks geven de paren enkele aanhalingstekens die afzonderlijke tekens scheiden, zoals de afbreekstreepjes, de dubbele punten en de letter 'T', aan dat het afzonderlijke teken een letterlijke waarde is die niet kan worden gewijzigd. De apostrofs worden niet weergegeven in de uitvoertekenreeks.
De standaardnotatieaanduiding 'O' of 'o' (en de 'jjjj'-'MM'-'dd'T'HH':'mm':'ss'.' fffffffK" tekenreeks voor aangepaste notatie) maakt gebruik van de drie manieren waarop ISO 8601 tijdzone-informatie vertegenwoordigt om de Kind eigenschap van DateTime waarden te behouden:
Het tijdzoneonderdeel van DateTimeKind.Local datum- en tijdwaarden is een verschuiving van UTC (bijvoorbeeld +01:00, -07:00). Alle DateTimeOffset waarden worden ook in deze indeling weergegeven.
Het tijdzoneonderdeel van DateTimeKind.Utc datum- en tijdwaarden maakt gebruik van 'Z' (dat staat voor nul-offset) om UTC weer te geven.
DateTimeKind.Unspecified datum- en tijdwaarden hebben geen tijdzone-informatie.
Omdat de standaardnotatieaanduiding 'O' of 'o' voldoet aan een internationale standaard, gebruikt de opmaak- of parseringsbewerking die gebruikmaakt van de aanduiding altijd de invariante cultuur en de Gregoriaanse kalender.
Tekenreeksen die worden doorgegeven aan de Parse
, TryParse
, ParseExact
en TryParseExact
methoden van DateTime en DateTimeOffset kunnen worden geparseerd met de notatie 'O' of 'o' als ze zich in een van deze indelingen bevinden. In het geval van DateTime objecten moet de parseringsbelasting die u aanroept ook een styles
parameter met een waarde van DateTimeStyles.RoundtripKindbevatten. Als u een parseermethode aanroept met de tekenreeks voor aangepaste notatie die overeenkomt met de notatieaanduiding 'O' of 'o', krijgt u niet dezelfde resultaten als 'O' of 'o'. Dit komt doordat parseringsmethoden die een aangepaste notatietekenreeks gebruiken, de tekenreeksweergave van datum- en tijdwaarden die geen tijdzoneonderdeel hebben, niet kunnen parseren of 'Z' gebruiken om UTC aan te geven.
In het volgende voorbeeld wordt de notatieaanduiding 'o' gebruikt om een reeks DateTime waarden en een DateTimeOffset-waarde weer te geven op een systeem in de Amerikaanse tijdzone Pacific.
using System;
public class Example
{
public static void Main()
{
DateTime dat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Unspecified);
Console.WriteLine($"{dat} ({dat.Kind}) --> {dat:O}");
DateTime uDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Utc);
Console.WriteLine($"{uDat} ({uDat.Kind}) --> {uDat:O}");
DateTime lDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Local);
Console.WriteLine($"{lDat} ({lDat.Kind}) --> {lDat:O}\n");
DateTimeOffset dto = new DateTimeOffset(lDat);
Console.WriteLine($"{dto} --> {dto:O}");
}
}
// The example displays the following output:
// 6/15/2009 1:45:30 PM (Unspecified) --> 2009-06-15T13:45:30.0000000
// 6/15/2009 1:45:30 PM (Utc) --> 2009-06-15T13:45:30.0000000Z
// 6/15/2009 1:45:30 PM (Local) --> 2009-06-15T13:45:30.0000000-07:00
//
// 6/15/2009 1:45:30 PM -07:00 --> 2009-06-15T13:45:30.0000000-07:00
Module Example
Public Sub Main()
Dim dat As New Date(2009, 6, 15, 13, 45, 30,
DateTimeKind.Unspecified)
Console.WriteLine("{0} ({1}) --> {0:O}", dat, dat.Kind)
Dim uDat As New Date(2009, 6, 15, 13, 45, 30, DateTimeKind.Utc)
Console.WriteLine("{0} ({1}) --> {0:O}", uDat, uDat.Kind)
Dim lDat As New Date(2009, 6, 15, 13, 45, 30, DateTimeKind.Local)
Console.WriteLine("{0} ({1}) --> {0:O}", lDat, lDat.Kind)
Console.WriteLine()
Dim dto As New DateTimeOffset(lDat)
Console.WriteLine("{0} --> {0:O}", dto)
End Sub
End Module
' The example displays the following output:
' 6/15/2009 1:45:30 PM (Unspecified) --> 2009-06-15T13:45:30.0000000
' 6/15/2009 1:45:30 PM (Utc) --> 2009-06-15T13:45:30.0000000Z
' 6/15/2009 1:45:30 PM (Local) --> 2009-06-15T13:45:30.0000000-07:00
'
' 6/15/2009 1:45:30 PM -07:00 --> 2009-06-15T13:45:30.0000000-07:00
In het volgende voorbeeld wordt de notatieaanduiding 'o' gebruikt om een opgemaakte tekenreeks te maken en wordt vervolgens de oorspronkelijke datum- en tijdwaarde hersteld door een datum- en tijdmethode aan te roepen Parse
.
// Round-trip DateTime values.
DateTime originalDate, newDate;
string dateString;
// Round-trip a local time.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 10, 6, 30, 0), DateTimeKind.Local);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine($"Round-tripped {originalDate} {originalDate.Kind} to {newDate} {newDate.Kind}.");
// Round-trip a UTC time.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 12, 9, 30, 0), DateTimeKind.Utc);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine($"Round-tripped {originalDate} {originalDate.Kind} to {newDate} {newDate.Kind}.");
// Round-trip time in an unspecified time zone.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 13, 12, 30, 0), DateTimeKind.Unspecified);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine($"Round-tripped {originalDate} {originalDate.Kind} to {newDate} {newDate.Kind}.");
// Round-trip a DateTimeOffset value.
DateTimeOffset originalDTO = new DateTimeOffset(2008, 4, 12, 9, 30, 0, new TimeSpan(-8, 0, 0));
dateString = originalDTO.ToString("o");
DateTimeOffset newDTO = DateTimeOffset.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine($"Round-tripped {originalDTO} to {newDTO}.");
// The example displays the following output:
// Round-tripped 4/10/2008 6:30:00 AM Local to 4/10/2008 6:30:00 AM Local.
// Round-tripped 4/12/2008 9:30:00 AM Utc to 4/12/2008 9:30:00 AM Utc.
// Round-tripped 4/13/2008 12:30:00 PM Unspecified to 4/13/2008 12:30:00 PM Unspecified.
// Round-tripped 4/12/2008 9:30:00 AM -08:00 to 4/12/2008 9:30:00 AM -08:00.
' Round-trip DateTime values.
Dim originalDate, newDate As Date
Dim dateString As String
' Round-trip a local time.
originalDate = Date.SpecifyKind(#4/10/2008 6:30AM#, DateTimeKind.Local)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
newDate, newDate.Kind)
' Round-trip a UTC time.
originalDate = Date.SpecifyKind(#4/12/2008 9:30AM#, DateTimeKind.Utc)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
newDate, newDate.Kind)
' Round-trip time in an unspecified time zone.
originalDate = Date.SpecifyKind(#4/13/2008 12:30PM#, DateTimeKind.Unspecified)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
newDate, newDate.Kind)
' Round-trip a DateTimeOffset value.
Dim originalDTO As New DateTimeOffset(#4/12/2008 9:30AM#, New TimeSpan(-8, 0, 0))
dateString = originalDTO.ToString("o")
Dim newDTO As DateTimeOffset = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} to {1}.", originalDTO, newDTO)
' The example displays the following output:
' Round-tripped 4/10/2008 6:30:00 AM Local to 4/10/2008 6:30:00 AM Local.
' Round-tripped 4/12/2008 9:30:00 AM Utc to 4/12/2008 9:30:00 AM Utc.
' Round-tripped 4/13/2008 12:30:00 PM Unspecified to 4/13/2008 12:30:00 PM Unspecified.
' Round-tripped 4/12/2008 9:30:00 AM -08:00 to 4/12/2008 9:30:00 AM -08:00.
De indelingsaanduiding RFC1123 ("R", "r")
De standaardnotatieaanduiding R of R vertegenwoordigt een aangepaste tekenreeks voor datum- en tijdnotatie die is gedefinieerd door de eigenschap DateTimeFormatInfo.RFC1123Pattern. Het patroon weerspiegelt een gedefinieerde standaard en de eigenschap is alleen-lezen. Daarom is het altijd hetzelfde, ongeacht de cultuur die wordt gebruikt of de opgegeven indelingsprovider. De tekenreeks voor aangepaste notatie is 'ddd, dd MMM jjjj HH':'mm':'ss 'GMT'. Wanneer deze standaardnotatieaanduiding wordt gebruikt, gebruikt de opmaak- of parseringsbewerking altijd de invariante cultuur.
De resultaattekenreeks wordt beïnvloed door de volgende eigenschappen van het DateTimeFormatInfo-object dat wordt geretourneerd door de eigenschap DateTimeFormatInfo.InvariantInfo die de invariante cultuur vertegenwoordigt.
Vastgoed | Beschrijving |
---|---|
RFC1123Pattern | Hiermee definieert u de indeling van de resultaattekenreeks. |
AbbreviatedDayNames | Definieert de verkorte dagnamen die in de resultaattekenreeks kunnen worden weergegeven. |
AbbreviatedMonthNames | Hiermee definieert u de verkorte maandnamen die in de resultaattekenreeks kunnen worden weergegeven. |
Hoewel de RFC 1123-standaard een tijd uitdrukt als Coordinated Universal Time (UTC), wijzigt de opmaakbewerking de waarde van het DateTime object dat wordt opgemaakt niet. Daarom moet u de DateTime waarde converteren naar UTC door de methode DateTime.ToUniversalTime aan te roepen voordat u de opmaakbewerking uitvoert. Daarentegen voeren DateTimeOffset waarden deze conversie automatisch uit; u hoeft de methode DateTimeOffset.ToUniversalTime niet aan te roepen voordat de opmaakbewerking wordt uitgevoerd.
In het volgende voorbeeld wordt de notatieaanduiding 'r' gebruikt om een DateTime en een DateTimeOffset waarde weer te geven op een systeem in de Tijdzone Us Pacific.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
DateTimeOffset dateOffset = new DateTimeOffset(date1,
TimeZoneInfo.Local.GetUtcOffset(date1));
Console.WriteLine(date1.ToUniversalTime().ToString("r"));
// Displays Thu, 10 Apr 2008 13:30:00 GMT
Console.WriteLine(dateOffset.ToUniversalTime().ToString("r"));
// Displays Thu, 10 Apr 2008 13:30:00 GMT
Dim date1 As Date = #4/10/2008 6:30AM#
Dim dateOffset As New DateTimeOffset(date1, TimeZoneInfo.Local.GetUtcOFfset(date1))
Console.WriteLine(date1.ToUniversalTime.ToString("r"))
' Displays Thu, 10 Apr 2008 13:30:00 GMT
Console.WriteLine(dateOffset.ToUniversalTime.ToString("r"))
' Displays Thu, 10 Apr 2008 13:30:00 GMT
De sorteerbare notatieaanduiding ('s')
De standaardnotatieaanduiding 's' vertegenwoordigt een aangepaste tekenreeks voor datum- en tijdnotatie die is gedefinieerd door de eigenschap DateTimeFormatInfo.SortableDateTimePattern. Het patroon weerspiegelt een gedefinieerde standaard (ISO 8601) en de eigenschap is alleen-lezen. Daarom is het altijd hetzelfde, ongeacht de cultuur die wordt gebruikt of de opgegeven indelingsprovider. De tekenreeks voor aangepaste notatie is 'jjjj'-'MM'-'dd'T'UU':'mm':'ss'.
Het doel van de notatieaanduiding 's' is het produceren van resultaattekenreeksen die consistent in oplopende of aflopende volgorde sorteren op basis van datum- en tijdwaarden. Als gevolg hiervan, hoewel de standaardnotatieaanduiding 's' een datum- en tijdwaarde in een consistente notatie vertegenwoordigt, wijzigt de opmaakbewerking niet de waarde van het datum- en tijdobject dat wordt opgemaakt om de bijbehorende DateTime.Kind eigenschap of de bijbehorende DateTimeOffset.Offset waarde weer te geven. De resultaattekenreeksen die worden geproduceerd door bijvoorbeeld de datum- en tijdwaarden 2014-11-15T18:32:17+00:00 en 2014-11-15T18:32:17+08:00 zijn identiek.
Wanneer deze standaardnotatieaanduiding wordt gebruikt, gebruikt de opmaak- of parseringsbewerking altijd de invariante cultuur.
In het volgende voorbeeld wordt de notatieaanduiding 's' gebruikt om een DateTime en een DateTimeOffset-waarde weer te geven op een systeem in de Amerikaanse tijdzone Pacific.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("s"));
// Displays 2008-04-10T06:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("s"))
' Displays 2008-04-10T06:30:00
De universal sortable ("u")-notatieaanduiding
De standaardnotatieaanduiding u vertegenwoordigt een aangepaste tekenreeks voor datum- en tijdnotatie die is gedefinieerd door de eigenschap DateTimeFormatInfo.UniversalSortableDateTimePattern. Het patroon weerspiegelt een gedefinieerde standaard en de eigenschap is alleen-lezen. Daarom is het altijd hetzelfde, ongeacht de cultuur die wordt gebruikt of de opgegeven indelingsprovider. De tekenreeks voor aangepaste notatie is 'jjjj'-'MM'-'dd HH':'mm':'ss'Z''. Wanneer deze standaardnotatieaanduiding wordt gebruikt, gebruikt de opmaak- of parseringsbewerking altijd de invariante cultuur.
Hoewel de resultaattekenreeks een tijd moet uitdrukken als Coordinated Universal Time (UTC), wordt er geen conversie van de oorspronkelijke DateTime waarde uitgevoerd tijdens de opmaakbewerking. Daarom moet u een DateTime waarde converteren naar UTC door de DateTime.ToUniversalTime methode aan te roepen voordat u deze opmaakt. Daarentegen voeren DateTimeOffset waarden deze conversie automatisch uit; u hoeft de methode DateTimeOffset.ToUniversalTime niet aan te roepen voordat de opmaakbewerking wordt uitgevoerd.
In het volgende voorbeeld wordt de notatieaanduiding 'u' gebruikt om een datum- en tijdwaarde weer te geven.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToUniversalTime().ToString("u"));
// Displays 2008-04-10 13:30:00Z
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToUniversalTime.ToString("u"))
' Displays 2008-04-10 13:30:00Z
De universal full ("U")-notatieaanduiding
De standaardnotatieaanduiding U vertegenwoordigt een aangepaste tekenreeks voor datum- en tijdnotatie die is gedefinieerd door de eigenschap DateTimeFormatInfo.FullDateTimePattern van een opgegeven cultuur. Het patroon is hetzelfde als het F-patroon. De DateTime waarde wordt echter automatisch geconverteerd naar UTC voordat deze wordt opgemaakt.
De volgende tabel bevat de DateTimeFormatInfo objecteigenschappen waarmee de opmaak van de geretourneerde tekenreeks kan worden beheerd. De aangepaste notatieaanduiding die wordt geretourneerd door de FullDateTimePattern eigenschap van sommige culturen, maakt mogelijk niet gebruik van alle eigenschappen.
Vastgoed | Beschrijving |
---|---|
FullDateTimePattern | Hiermee definieert u de algehele indeling van de resultaattekenreeks. |
DayNames | Hiermee definieert u de gelokaliseerde dagnamen die in de resultaattekenreeks kunnen worden weergegeven. |
MonthNames | Definieert de gelokaliseerde maandnamen die in de resultaattekenreeks kunnen worden weergegeven. |
TimeSeparator | Hiermee definieert u de tekenreeks die het uur, de minuut en de tweede onderdelen van een tijd scheidt. |
AMDesignator | Definieert de tekenreeks die tijden aangeeft van middernacht tot vóór de middag in een 12-uurs klok. |
PMDesignator | Hiermee definieert u de tekenreeks die tijden aangeeft van middag tot middernacht in een 12-uurs klok. |
De notatieaanduiding U wordt niet ondersteund door het DateTimeOffset type en genereert een FormatException als deze wordt gebruikt om een DateTimeOffset waarde op te maken.
In het volgende voorbeeld wordt de notatieaanduiding U gebruikt om een datum- en tijdwaarde weer te geven.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("U",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 1:30:00 PM
Console.WriteLine(date1.ToString("U",
CultureInfo.CreateSpecificCulture("sv-FI")));
// Displays den 10 april 2008 13:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("U", CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 1:30:00 PM
Console.WriteLine(date1.ToString("U", CultureInfo.CreateSpecificCulture("sv-FI")))
' Displays den 10 april 2008 13:30:00
Tijdnotaties
Deze groep bevat de volgende indelingen:
De korte tijdnotatieaanduiding ('t')
De standaardnotatieaanduiding t vertegenwoordigt een aangepaste tekenreeks voor datum- en tijdnotatie die is gedefinieerd door de huidige eigenschap DateTimeFormatInfo.ShortTimePattern. De tekenreeks voor aangepaste notatie voor de invariante cultuur is bijvoorbeeld 'UU:mm'.
De resultaattekenreeks wordt beïnvloed door de opmaakgegevens van een specifiek DateTimeFormatInfo-object. De volgende tabel bevat de DateTimeFormatInfo objecteigenschappen waarmee de opmaak van de geretourneerde tekenreeks kan worden beheerd. De aangepaste notatieaanduiding die wordt geretourneerd door de DateTimeFormatInfo.ShortTimePattern eigenschap van sommige culturen, maakt mogelijk niet gebruik van alle eigenschappen.
Vastgoed | Beschrijving |
---|---|
ShortTimePattern | Hiermee definieert u de indeling van het tijdonderdeel van de resultaattekenreeks. |
TimeSeparator | Hiermee definieert u de tekenreeks die het uur, de minuut en de tweede onderdelen van een tijd scheidt. |
AMDesignator | Definieert de tekenreeks die tijden aangeeft van middernacht tot vóór de middag in een 12-uurs klok. |
PMDesignator | Hiermee definieert u de tekenreeks die tijden aangeeft van middag tot middernacht in een 12-uurs klok. |
In het volgende voorbeeld wordt de notatieaanduiding 't' gebruikt om een datum- en tijdwaarde weer te geven.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("t",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays 6:30 AM
Console.WriteLine(date1.ToString("t",
CultureInfo.CreateSpecificCulture("es-ES")));
// Displays 6:30
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("t", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays 6:30 AM
Console.WriteLine(date1.ToString("t", _
CultureInfo.CreateSpecificCulture("es-ES")))
' Displays 6:30
De lange tijdnotatieaanduiding ('T')
De standaardnotatieaanduiding T vertegenwoordigt een aangepaste tekenreeks voor datum- en tijdnotatie die is gedefinieerd door de DateTimeFormatInfo.LongTimePattern eigenschap van een specifieke cultuur. De tekenreeks voor de aangepaste notatie voor de invariante cultuur is bijvoorbeeld 'UU:mm:ss'.
De volgende tabel bevat de DateTimeFormatInfo objecteigenschappen waarmee de opmaak van de geretourneerde tekenreeks kan worden beheerd. De aangepaste notatieaanduiding die wordt geretourneerd door de DateTimeFormatInfo.LongTimePattern eigenschap van sommige culturen, maakt mogelijk niet gebruik van alle eigenschappen.
Vastgoed | Beschrijving |
---|---|
LongTimePattern | Hiermee definieert u de indeling van het tijdonderdeel van de resultaattekenreeks. |
TimeSeparator | Hiermee definieert u de tekenreeks die het uur, de minuut en de tweede onderdelen van een tijd scheidt. |
AMDesignator | Definieert de tekenreeks die tijden aangeeft van middernacht tot vóór de middag in een 12-uurs klok. |
PMDesignator | Hiermee definieert u de tekenreeks die tijden aangeeft van middag tot middernacht in een 12-uurs klok. |
In het volgende voorbeeld wordt de notatieaanduiding T gebruikt om een datum- en tijdwaarde weer te geven.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("T",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays 6:30:00 AM
Console.WriteLine(date1.ToString("T",
CultureInfo.CreateSpecificCulture("es-ES")));
// Displays 6:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("T", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays 6:30:00 AM
Console.WriteLine(date1.ToString("T", _
CultureInfo.CreateSpecificCulture("es-ES")))
' Displays 6:30:00
Gedeeltelijke datumnotaties
Deze groep bevat de volgende indelingen:
De maandnotatie ('M', 'm')
De standaardnotatieaanduiding 'M' of 'm' vertegenwoordigt een aangepaste tekenreeks voor datum- en tijdnotatie die is gedefinieerd door de huidige eigenschap DateTimeFormatInfo.MonthDayPattern. De tekenreeks voor de aangepaste notatie voor de invariante cultuur is bijvoorbeeld 'MMMM dd'.
De volgende tabel bevat de DateTimeFormatInfo objecteigenschappen waarmee de opmaak van de geretourneerde tekenreeks wordt beheerd.
Vastgoed | Beschrijving |
---|---|
MonthDayPattern | Hiermee definieert u de algehele indeling van de resultaattekenreeks. |
MonthNames | Definieert de gelokaliseerde maandnamen die in de resultaattekenreeks kunnen worden weergegeven. |
In het volgende voorbeeld wordt de notatieaanduiding 'm' gebruikt om een datum- en tijdwaarde weer te geven.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("m",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays April 10
Console.WriteLine(date1.ToString("m",
CultureInfo.CreateSpecificCulture("ms-MY")));
// Displays 10 April
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("m", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays April 10
Console.WriteLine(date1.ToString("m", _
CultureInfo.CreateSpecificCulture("ms-MY")))
' Displays 10 April
De jaarmaand ("Y", "y") notatieaanduiding
De standaardnotatieaanduiding Y of y vertegenwoordigt een aangepaste tekenreeks voor datum- en tijdnotatie die is gedefinieerd door de eigenschap DateTimeFormatInfo.YearMonthPattern van een opgegeven cultuur. De tekenreeks voor aangepaste notatie voor de invariante cultuur is bijvoorbeeld 'jjjj MMMM'.
De volgende tabel bevat de DateTimeFormatInfo objecteigenschappen waarmee de opmaak van de geretourneerde tekenreeks wordt beheerd.
Vastgoed | Beschrijving |
---|---|
YearMonthPattern | Hiermee definieert u de algehele indeling van de resultaattekenreeks. |
MonthNames | Definieert de gelokaliseerde maandnamen die in de resultaattekenreeks kunnen worden weergegeven. |
In het volgende voorbeeld wordt de notatieaanduiding y gebruikt om een datum- en tijdwaarde weer te geven.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("Y",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays April, 2008
Console.WriteLine(date1.ToString("y",
CultureInfo.CreateSpecificCulture("af-ZA")));
// Displays April 2008
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("Y", CultureInfo.CreateSpecificCulture("en-US")))
' Displays April, 2008
Console.WriteLine(date1.ToString("y", CultureInfo.CreateSpecificCulture("af-ZA")))
' Displays April 2008
Configuratiescherm-instellingen
In Windows beïnvloeden de instellingen in de Landinstellingen item in het Configuratiescherm de resultaattekenreeks die is geproduceerd door een opmaakbewerking. Deze instellingen worden gebruikt voor het initialiseren van het DateTimeFormatInfo-object dat is gekoppeld aan de huidige cultuur, die waarden biedt die worden gebruikt voor het beheren van opmaak. Computers die verschillende instellingen gebruiken, genereren verschillende resultaattekenreeksen.
Als u bovendien de CultureInfo(String) constructor gebruikt om een nieuw CultureInfo-object te instantiëren dat dezelfde cultuur vertegenwoordigt als de huidige systeemcultuur, worden eventuele aanpassingen die zijn ingesteld door de landinstellingen item in het Configuratiescherm toegepast op het nieuwe CultureInfo-object. U kunt de CultureInfo(String, Boolean) constructor gebruiken om een CultureInfo-object te maken dat niet overeenkomt met de aanpassingen van een systeem.
Eigenschappen van DateTimeFormatInfo
Opmaak wordt beïnvloed door eigenschappen van het huidige DateTimeFormatInfo-object, dat impliciet wordt geleverd door de huidige cultuur of expliciet door de parameter IFormatProvider van de methode die opmaak aanroept. Voor de parameter IFormatProvider moet uw toepassing een CultureInfo-object opgeven, dat een cultuur vertegenwoordigt of een DateTimeFormatInfo-object, dat de datum- en tijdnotatieconventies van een bepaalde cultuur vertegenwoordigt. Veel van de standaardaanduidingen voor datum- en tijdnotatie zijn aliassen voor opmaakpatronen die zijn gedefinieerd door eigenschappen van het huidige DateTimeFormatInfo-object. Uw toepassing kan het resultaat wijzigen dat wordt geproduceerd door een aantal standaardaanduidingen voor datum- en tijdnotatie door de bijbehorende datum- en tijdnotatiepatronen van de bijbehorende eigenschap DateTimeFormatInfo te wijzigen.