Egyéni dátum- és időformátum-sztringek

A dátum- és időformátum-sztring egy formázási műveletből származó érték vagy DateTimeOffset érték szöveges ábrázolását DateTime határozza meg. Az elemzési művelethez szükséges dátum- és időértékek megjelenítését is meghatározhatja, hogy a sztringet sikeresen dátummá és idővé alakíthassa. Az egyéni formázási sztringek egy vagy több egyéni dátum- és időformátum-meghatározóból állnak. Minden olyan sztring, amely nem szabványos dátum- és időformátum-sztring, egyéni dátum- és időformátum-sztringként lesz értelmezve.

Tipp.

Letöltheti a Formatting Segédprogramot, egy .NET Core Windows Forms-alkalmazást, amellyel formázási sztringeket alkalmazhat numerikus vagy dátum- és időértékekre, és megjelenítheti az eredménysztringet. A forráskód a C# és a Visual Basic esetében érhető el.

Az egyéni dátum- és időformátum-sztringek mind a kettővel, DateTimeOffset mind DateTime az értékekkel használhatók.

Feljegyzés

A cikkben szereplő C#-példák némelyike a Try.NET beágyazott kódfuttatóban és -játszótéren fut. Kattintson a Futtatás gombra egy példa interaktív ablakban való futtatásához. Miután végrehajtotta a kódot, módosíthatja és futtathatja a módosított kódot a Futtatás gombra kattintva. A módosított kód vagy az interaktív ablakban fut, vagy ha a fordítás sikertelen, az interaktív ablakban megjelenik az összes C#-fordító hibaüzenet.

A Try.NET beágyazott kódfuttató és -játszótér helyi időzónájaaz egyezményes világidő vagy UTC. Ez befolyásolhatja a viselkedést és a példák kimenetét, amelyek a , DateTimeOffsetés a típusokat és TimeZoneInfo azok tagjait szemléltetikDateTime.

A formázási műveletekben az egyéni dátum- és időformátum-sztringek a dátum- és időpéldányok metódusával ToString vagy az összetett formázást támogató módszerrel használhatók. Az alábbi példa mindkét felhasználást szemlélteti.

DateTime thisDate1 = new DateTime(2011, 6, 10);
Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + ".");

DateTimeOffset thisDate2 = new DateTimeOffset(2011, 6, 10, 15, 24, 16,
                                              TimeSpan.Zero);
Console.WriteLine("The current date and time: {0:MM/dd/yy H:mm:ss zzz}",
                   thisDate2);
// The example displays the following output:
//    Today is June 10, 2011.
//    The current date and time: 06/10/11 15:24:16 +00:00
Dim thisDate1 As Date = #6/10/2011#
Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + ".")

Dim thisDate2 As New DateTimeOffset(2011, 6, 10, 15, 24, 16, TimeSpan.Zero)
Console.WriteLine("The current date and time: {0:MM/dd/yy H:mm:ss zzz}",
                  thisDate2)
' The example displays the following output:
'    Today is June 10, 2011.
'    The current date and time: 06/10/11 15:24:16 +00:00

Az elemzési műveletekben egyéni dátum- és időformátum-sztringek használhatók a DateTime.ParseExact, DateTime.TryParseExact, DateTimeOffset.ParseExactés DateTimeOffset.TryParseExact metódusokkal. Ezek a metódusok megkövetelik, hogy a bemeneti sztring pontosan megfeleljen az elemzési művelet sikeres végrehajtásához használt adott mintának. Az alábbi példa egy olyan metódus meghívását DateTimeOffset.ParseExact(String, String, IFormatProvider) mutatja be, amely egy napot, egy hónapot és egy kétjegyű évet tartalmazó dátumot elemez.

using System;
using System.Globalization;

public class Example1
{
    public static void Main()
    {
        string[] dateValues = { "30-12-2011", "12-30-2011",
                              "30-12-11", "12-30-11" };
        string pattern = "MM-dd-yy";
        DateTime parsedDate;

        foreach (var dateValue in dateValues)
        {
            if (DateTime.TryParseExact(dateValue, pattern, null,
                                      DateTimeStyles.None, out parsedDate))
                Console.WriteLine("Converted '{0}' to {1:d}.",
                                  dateValue, parsedDate);
            else
                Console.WriteLine("Unable to convert '{0}' to a date and time.",
                                  dateValue);
        }
    }
}
// The example displays the following output:
//    Unable to convert '30-12-2011' to a date and time.
//    Unable to convert '12-30-2011' to a date and time.
//    Unable to convert '30-12-11' to a date and time.
//    Converted '12-30-11' to 12/30/2011.
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim dateValues() As String = {"30-12-2011", "12-30-2011",
                                        "30-12-11", "12-30-11"}
        Dim pattern As String = "MM-dd-yy"
        Dim parsedDate As Date

        For Each dateValue As String In dateValues
            If DateTime.TryParseExact(dateValue, pattern, Nothing,
                                      DateTimeStyles.None, parsedDate) Then
                Console.WriteLine("Converted '{0}' to {1:d}.",
                                  dateValue, parsedDate)
            Else
                Console.WriteLine("Unable to convert '{0}' to a date and time.",
                                  dateValue)
            End If
        Next
    End Sub
End Module
' The example displays the following output:
'    Unable to convert '30-12-2011' to a date and time.
'    Unable to convert '12-30-2011' to a date and time.
'    Unable to convert '30-12-11' to a date and time.
'    Converted '12-30-11' to 12/30/2011.

Az alábbi táblázat az egyéni dátum- és időformátum-meghatározókat ismerteti, és megjeleníti az egyes formátumkijelölők által előállított eredménysztringet. Az eredménysztringek alapértelmezés szerint az en-US kultúra formázási konvencióit tükrözik. Ha egy adott formátumkijelölő honosított eredménysztringet hoz létre, a példa azt a kultúrát is megjegyzi, amelyre az eredménysztring vonatkozik. Az egyéni dátum- és időformátum-sztringek használatáról további információt a Megjegyzések szakaszban talál.

Formátumkijelölő Leírás Példák
"d" A hónap napja, 1 és 31 között.

További információ: A "d" egyéni formátumkijelölő.
2009-06-01T13:45:30 -> 1

2009-06-15T13:45:30 -> 15
"dd" A hónap napja, 01 és 31 között.

További információ: A "dd" egyéni formátumkijelölő.
2009-06-01T13:45:30 -> 01

2009-06-15T13:45:30 -> 15
"ddd" A hét napjának rövidített neve.

További információ: A "ddd" egyéni formátumkijelölő.
2009-06-15T13:45:30 -> H (en-US)

2009-06-15T13:45:30 -> Пн (ru-RU)

2009-06-15T13:45:30 -> lun. (fr-FR)
"dddd" A hét napjának teljes neve.

További információ: A "dddd" egyéni formátumkijelölő.
2009-06-15T13:45:30 -> hétfő (en-US)

2009-06-15T13:45:30 -> понедельник (ru-RU)

2009-06-15T13:45:30 -> lundi (fr-FR)
"f" Egy dátum- és időérték másodpercének tizede.

További információ: Az "f" egyéni formátumkijelölő.
2009-06-15T13:45:30.6170000 -> 6

2009-06-15T13:45:30.05 -> 0
"ff" Egy dátum- és időérték másodpercének százada.

További információ: Az "ff" egyéni formátumkijelölő.
2009-06-15T13:45:30.6170000 -> 61

2009-06-15T13:45:30.0050000 -> 00
"fff" A dátum- és időérték ezredmásodpercei.

További információ: Az "fff" egyéni formátumkijelölő.
2009.06.15. 13:45:30.617 -> 617

2009.06.15. 13:45:30.0005 -> 000
"ffff" Egy dátum- és időérték másodpercének tízezrede.

További információ: Az "ffff" egyéni formátumkijelölő.
2009-06-15T13:45:30.6175000 -> 6175

2009-06-15T13:45:30.0000500 -> 0000
"fffff" Egy dátum- és időérték másodpercének százezrede.

További információ: Az "fffff" egyéni formátumkijelölő.
2009-06-15T13:45:30.6175400 -> 61754

2009.06.15. 13:45:30.000005 -> 00000
"ffffff" Egy dátum- és időérték másodpercmilliomodik része.

További információ: Az "ffffff" egyéni formátumkijelölő.
2009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.0000005 -> 000000
"fffffff" Egy dátum- és időérték másodpercének tízmilliomodik része.

További információ: Az "fffffff" egyéni formátumkijelölő.
2009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 0001150
"F" Ha nem nulla, akkor egy dátum- és időérték másodpercének tizede.

További információ: Az "F" egyéni formátumkijelölő.
2009-06-15T13:45:30.6170000 -> 6

2009-06-15T13:45:30.0500000 -> (nincs kimenet)
"FF" Ha nem nulla, akkor egy dátum- és időérték másodpercének százada.

További információ: Az "FF" egyéni formátumkijelölő.
2009-06-15T13:45:30.6170000 -> 61

2009-06-15T13:45:30.0050000 -> (nincs kimenet)
"FFF" Ha nem nulla, az ezredmásodperc egy dátum- és időértékben van megadva.

További információ: Az "FFF" egyéni formátumkijelölő.
2009-06-15T13:45:30.6170000 -> 617

2009-06-15T13:45:30.0005000 -> (nincs kimenet)
"FFFF" Ha nem nulla, akkor egy dátum- és időértékben a másodperc tízezrede.

További információ: Az "FFFF" egyéni formátumkijelölő.
2009-06-15T13:45:30.5275000 -> 5275

2009-06-15T13:45:30.0000500 -> (nincs kimenet)
"FFFFF" Ha nem nulla, akkor egy dátum- és időérték másodpercének százezrede.

További információ: Az "FFFFF" egyéni formátumkijelölő.
2009-06-15T13:45:30.6175400 -> 61754

2009-06-15T13:45:30.0000050 -> (nincs kimenet)
"FFFFFF" Ha nem nulla, akkor a másodperc milliomodik része egy dátum- és időértékben.

További információ: Az "FFFFFF" egyéni formátumkijelölő.
2009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.0000005 -> (nincs kimenet)
"FFFFFFF" Ha nem nulla, akkor a másodperc tízmilliomodik része egy dátum- és időértékben.

További információ: Az "FFFFFFF" egyéni formátumkijelölő.
2009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 000115
"g", "gg" Az időszak vagy a korszak.

További információ: A "g" vagy a "gg" egyéni formátumkijelölő.
2009-06-15T13:45:30.6170000 -> A.D.
"h" Az óra 12 órás 1 és 12 óra között.

További információ: A "h" egyéni formátumkijelölő.
2009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 1
"óó" Az óra 01 és 12 óra között 12 órás.

További információ: A "hh" egyéni formátumkijelölő.
2009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 01
"H" Az óra 0 és 23 óra között 24 órás.

További információ: A "H" egyéni formátumkijelölő.
2009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 13
"HH" Az óra 24 órás 00 és 23 óra között.

További információ: A "HH" egyéni formátumkijelölő.
2009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 13
"K" Időzóna-információk.

További információ: A "K" egyéni formátumkijelölő.
Értékekkel DateTime :

2009-06-15T13:45:30, Kind Meghatározatlan ->

2009-06-15T13:45:30, Kind Utc -> Z

2009-06-15T13:45:30, Kind Local –> -07:00 (a helyi számítógép beállításaitól függ)

Értékekkel DateTimeOffset :

2009-06-15T01:45:30-07:00 --> -07:00

2009-06-15T08:45:30+00:00 --> +00:00
"m" A perc, 0-tól 59-ig.

További információ: Az "m" egyéni formátumkijelölő.
2009-06-15T01:09:30 -> 9

2009-06-15T13:29:30 -> 29
"mm" A perc, 00-tól 59-ig.

További információ: Az "mm" egyéni formátumkijelölő.
2009-06-15T01:09:30 -> 09

2009-06-15T01:45:30 -> 45
"M" A hónap, 1 és 12 között.

További információ: Az "M" egyéni formátumkijelölő.
2009-06-15T13:45:30 -> 6
"MM" A hónap, 01 és 12 között.

További információ: Az "MM" egyéni formátumkijelölő.
2009-06-15T13:45:30 -> 06
"MMM" A hónap rövidített neve.

További információ: Az "MMM" egyéni formátumkijelölő.
2009-06-15T13:45:30 -> jún (en-US)

2009-06-15T13:45:30 -> juin (fr-FR)

2009-06-15T13:45:30 -> jún (zu-ZA)
"MMMM" A hónap teljes neve.

További információ: Az "MMMM" egyéni formátumkijelölő.
2009-06-15T13:45:30 –> június (en-US)

2009-06-15T13:45:30 -> juni (da-DK)

2009-06-15T13:45:30 -> uJuni (zu-ZA)
"s" A második, 0-tól 59-ig.

További információ: Az "s" egyéni formátumkijelölő.
2009-06-15T13:45:09 -> 9
"ss" A második, 00-tól 59-ig.

További információ: Az "ss" egyéni formátumkijelölő.
2009-06-15T13:45:09 -> 09
"t" Az AM/PM tervező első karaktere.

További információ: A "t" egyéni formátumkijelölő.
2009-06-15T13:45:30 -> P (en-US)

2009-06-15T13:45:30 -> 午 (ja-JP)

2009-06-15T13:45:30 -> (fr-FR)
"tt" Az AM/PM tervező.

További információ: A "tt" egyéni formátumkijelölő.
2009-06-15T13:45:30 -> PM (en-US)

2009-06-15T13:45:30 -> 午後 (ja-JP)

2009-06-15T13:45:30 -> (fr-FR)
"y" Az év, 0-tól 99-ig.

További információ: Az "y" egyéni formátumkijelölő.
0001-01-01T00:00:00 -> 1

0900-01-01T00:00:00 -> 0

1900-01-01T00:00:00 -> 0

2009-06-15T13:45:30 -> 9

2019-06-15T13:45:30 -> 19
"yy" Az év, 00-tól 99-ig.

További információ: Az "yy" egyéni formátumkijelölő.
0001-01-01T00:00:00 -> 01

0900-01-01T00:00:00 -> 00

1900-01-01T00:00:00 -> 00

2019-06-15T13:45:30 -> 19
"yyy" Az év, legalább három számjegyből áll.

További információ: Az "yyy" egyéni formátumkijelölő.
0001-01-01T00:00:00 -> 001

0900-01-01T00:00:00 -> 900

1900-01-01T00:00:00 -> 1900

2009-06-15T13:45:30 -> 2009
"yyyy" Az év négyjegyű számként.

További információ: Az "yyyy" egyéni formátumkijelölő.
0001-01-01T00:00:00 -> 0001

0900-01-01T00:00:00 -> 0900

1900-01-01T00:00:00 -> 1900

2009-06-15T13:45:30 -> 2009
"yyyyyy" Az év ötjegyű számként.

További információ: Az "yyyyy" egyéni formátumkijelölő.
0001-01-01T00:00:00 -> 00001

2009-06-15T13:45:30 -> 02009
"z" Órák eltolása UTC-től, kezdő nullák nélkül.

További információ: A "z" egyéni formátumkijelölő.
2009-06-15T13:45:30-07:00 -> -7
"zz" Órák eltolása UTC-től, egy számjegyű érték kezdő nullájával.

További információ: A "zz" egyéni formátumkijelölő.
2009-06-15T13:45:30-07:00 -> -07
"zzz" Órák és percek eltolása AZ UTC-től.

További információ: A "zzz" egyéni formátumkijelölő.
2009-06-15T13:45:30-07:00 -> -07:00
":" Az időelválasztó.

További információ: Az "" egyéni formátumkijelölő.
2009-06-15T13:45:30 -> : (en-US)

2009-06-15T13:45:30 -> . (it-IT)

2009-06-15T13:45:30 -> : (ja-JP)
"/" A dátumelválasztó.

További információ: Az "/" egyéni formátumkijelölő.
2009-06-15T13:45:30 -> / (en-US)

2009-06-15T13:45:30 -> - (ar-DZ)

2009-06-15T13:45:30 -> . (tr-TR)
"sztring"

"sztring"
Literális sztringelválasztó.

További információ: Karakterkonstansok.
2009-06-15T13:45:30 ("arr:" h:m t) -> arr: 1:45 P

2009-06-15T13:45:30 ('arr:' h:m t) -> arr: 1:45 P
% A következő karaktert egyéni formátumkijelölőként definiálja.

További információ: Egyéni formátumkijelölők használata.
2009-06-15T13:45:30 (%h) –> 1
\ A menekülő karakter.

További információ: Karakterkonstansok és a escape karakter használata.
2009-06-15T13:45:30 (h \h) -> 1 h
Bármely más karakter A program változatlanul másolja a karaktert az eredménysztringbe.

További információ: Karakterkonstansok.
2009-06-15T01:45:30 (arr hh:mm t) -> arr 01:45 A

Az alábbi szakaszok további információkat nyújtanak az egyes egyéni dátum- és időformátum-meghatározókról. Ha nincs másként feljegyzve, minden megadó azonos sztring-ábrázolásokat DateTime hoz létre, függetlenül attól, hogy értéket vagy DateTimeOffset értéket használnak-e.

Day "d" format specifier

A "d" egyéni formátumkijelölő

A "d" egyéni formátumkijelölő a hónap napját 1 és 31 közötti számként jelöli. Az egyjegyű nap bevezető nulla nélkül van formázva.

Ha a "d" formátumjelölőt más egyéni formátumjelölők nélkül használja, a rendszer a "d" standard dátum- és időformátum-meghatározóként értelmezi. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Az alábbi példa a "d" egyéni formátumjelölőt több formátumsztringben is tartalmazza.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("d, M",
                  CultureInfo.InvariantCulture));
// Displays 29, 8

Console.WriteLine(date1.ToString("d MMMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays 29 August
Console.WriteLine(date1.ToString("d MMMM",
                  CultureInfo.CreateSpecificCulture("es-MX")));
// Displays 29 agosto
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("d, M", _
                  CultureInfo.InvariantCulture))
' Displays 29, 8

Console.WriteLine(date1.ToString("d MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays 29 August
Console.WriteLine(date1.ToString("d MMMM", _
                  CultureInfo.CreateSpecificCulture("es-MX")))
' Displays 29 agosto                                                

Vissza a táblához

A "dd" egyéni formátumkijelölő

A "dd" egyéni formátumsztring a hónap napját jelöli 01 és 31 közötti számként. Az egyjegyű nap kezdő nullával van formázva.

Az alábbi példa a "dd" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);

Console.WriteLine(date1.ToString("dd, MM",
                  CultureInfo.InvariantCulture));
// 02, 01
Dim date1 As Date = #1/2/2008 6:30:15AM#

Console.WriteLine(date1.ToString("dd, MM", _
                  CultureInfo.InvariantCulture))
' 02, 01

Vissza a táblához

A "ddd" egyéni formátumkijelölő

A "ddd" egyéni formátumkijelölő a hét napjának rövidített nevét jelöli. A hét napjának honosított rövidített neve az aktuális vagy a megadott kultúra tulajdonságából DateTimeFormatInfo.AbbreviatedDayNames lesz lekérve.

Az alábbi példa a "ddd" egyéni formátumjelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("ddd d MMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 août
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 août                                                

Vissza a táblához

A "dddd" egyéni formátumkijelölő

A "dddd" egyéni formátumkijelölő (plusz a további "d" azonosítók száma) a hét napjának teljes nevét jelöli. A hét napjának honosított neve az aktuális vagy a megadott kultúra tulajdonságából DateTimeFormatInfo.DayNames lesz lekérve.

Az alábbi példa a "dddd" egyéni formátumjelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("dddd dd MMMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
                  CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerdì 29 agosto
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerdì 29 agosto                                          

Vissza a táblához

Kisbetűs másodperc "f" tört megadása

Az "f" egyéni formátumkijelölő

Az "f" egyéni formátumkijelölő a másodperc törtrészének legjelentősebb számjegyét jelöli; vagyis egy dátum- és időértékben a másodperc tizedét jelöli.

Ha az "f" formátumjelölőt más formátumjelölők nélkül használja, a rendszer az "f" szabványos dátum- és időformátum-meghatározóként értelmezi. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Ha az "f" formátumjelölőket a , TryParseExact, ParseExactvagy TryParseExact metódushoz megadott ParseExactformátumsztring részeként használja, az "f" formátumjelölők száma a másodperc törtrészének legfontosabb számjegyeinek számát jelzi, amelyeknek a sztring sikeres elemzéséhez jelen kell lenniük.

Az alábbi példa az "f" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Vissza a táblához

Az "ff" egyéni formátumkijelölő

Az "ff" egyéni formátumkijelölő a másodperc törtrész két legjelentősebb számjegyét jelöli; vagyis egy dátum- és időértékben a másodperc századát jelöli.

Az alábbi példa az "ff" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Vissza a táblához

Az "fff" egyéni formátumkijelölő

Az "fff" egyéni formátumkijelölő a másodperc tört három legjelentősebb számjegyét jelöli; vagyis ezredmásodperceket jelöl egy dátum- és időértékben.

Az alábbi példa az "fff" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Vissza a táblához

Az "ffff" egyéni formátumkijelölő

Az "ffff" egyéni formátumkijelölő a másodperc tört négy legjelentősebb számjegyét jelöli; vagyis egy dátum- és időértékben a másodperc tízezredét jelöli.

Bár egy időérték második összetevőjének tízezredét is megjelenítheti, ez az érték nem feltétlenül értelmezhető. A dátum- és időértékek pontossága a rendszeróra felbontásától függ. A Windows NT 3.5-ös (és újabb) és Windows Vista operációs rendszereken az óra felbontása körülbelül 10-15 ezredmásodperc.

Vissza a táblához

Az "fffff" egyéni formátumkijelölő

Az "fffff" egyéni formátumkijelölő a másodperc tört öt legjelentősebb számjegyét jelöli; vagyis egy dátum- és időérték másodpercének százezredét jelöli.

Bár az időérték második összetevőjének 100 ezredrészét is megjelenítheti, ez az érték nem feltétlenül értelmezhető. A dátum- és időértékek pontossága a rendszeróra felbontásától függ. A Windows NT 3.5 (és újabb) és a Windows Vista operációs rendszereken az óra felbontása körülbelül 10-15 ezredmásodperc.

Vissza a táblához

Az "ffffff" egyéni formátumkijelölője

Az "ffffff" egyéni formátumkijelölő a másodperc tört hat legjelentősebb számjegyét jelöli; vagyis egy dátum- és időérték másodpercmilliomodik értékét jelöli.

Bár az időérték második összetevőjének milliomodik része megjeleníthető, ez az érték nem feltétlenül értelmezhető. A dátum- és időértékek pontossága a rendszeróra felbontásától függ. A Windows NT 3.5 (és újabb) és a Windows Vista operációs rendszereken az óra felbontása körülbelül 10-15 ezredmásodperc.

Vissza a táblához

Az "fffffff" egyéni formátumkijelölő

A "fffffff" egyéni formátumkijelölő a másodperc tört hét legjelentősebb számjegyét jelöli; vagyis egy dátum- és időértékben a másodperc tízmilliomodikát jelöli.

Bár az időérték második összetevőjének tízmilliomodik része megjeleníthető, ez az érték nem feltétlenül értelmezhető. A dátum- és időértékek pontossága a rendszeróra felbontásától függ. A Windows NT 3.5 (és újabb) és a Windows Vista operációs rendszereken az óra felbontása körülbelül 10-15 ezredmásodperc.

Vissza a táblához

Nagybetűs másodperc "F" tört megadása

Az "F" egyéni formátumkijelölő

Az "F" egyéni formátumkijelölő a másodperc törtrészének legjelentősebb számjegyét jelöli; vagyis egy dátum- és időértékben a másodperc tizedét jelöli. Semmi sem jelenik meg, ha a számjegy nulla, és a másodpercek számát követő tizedesvessző sem jelenik meg.

Ha az "F" formátumjelölőt más formátumjelölők nélkül használja, a rendszer az "F" szabványos dátum- és időformátum-meghatározóként értelmezi. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Az ,, TryParseExact, ParseExactvagy TryParseExact metódussal ParseExacthasznált "F" formátumjelölők száma azt jelzi, hogy a másodperc törtrészének legfeljebb hány számjegye jelenhet meg a sztring sikeres elemzéséhez.

Az alábbi példa az "F" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Vissza a táblához

Az "FF" egyéni formátumkijelölő

Az "FF" egyéni formátumkijelölő a másodperc törtrész két legjelentősebb számjegyét jelöli; vagyis egy dátum- és időértékben a másodperc századát jelöli. A záró nullák nem jelennek meg. Semmi sem jelenik meg, ha a két jelentős számjegy nulla, és ebben az esetben a másodpercek számát követő tizedesvessző sem jelenik meg.

Az alábbi példa az "FF" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Vissza a táblához

Az "FFF" egyéni formátumkijelölője

Az "FFF" egyéni formátumkijelölő a másodperc tört három legjelentősebb számjegyét jelöli; vagyis ezredmásodperceket jelöl egy dátum- és időértékben. A záró nullák nem jelennek meg. Semmi sem jelenik meg, ha a három jelentős számjegy nulla, és ebben az esetben a másodpercek számát követő tizedesvessző sem jelenik meg.

Az alábbi példa az "FFF" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Vissza a táblához

Az "FFFF" egyéni formátumkijelölője

Az "FFFF" egyéni formátumkijelölő a másodperc tört négy legjelentősebb számjegyét jelöli; vagyis egy dátum- és időértékben a másodperc tízezredét jelöli. A záró nullák nem jelennek meg. Semmi sem jelenik meg, ha a négy jelentős számjegy nulla, és ebben az esetben a másodpercek számát követő tizedesvessző sem jelenik meg.

Bár egy időérték második összetevőjének tízezredét is megjelenítheti, ez az érték nem feltétlenül értelmezhető. A dátum- és időértékek pontossága a rendszeróra felbontásától függ. A Windows NT 3.5 (és újabb) és a Windows Vista operációs rendszereken az óra felbontása körülbelül 10-15 ezredmásodperc.

Vissza a táblához

Az "FFFFF" egyéni formátumkijelölője

Az "FFFFF" egyéni formátumkijelölő a másodperc törtrész öt legjelentősebb számjegyét jelöli; vagyis egy dátum- és időérték másodpercének százezredét jelöli. A záró nullák nem jelennek meg. Semmi sem jelenik meg, ha az öt jelentős számjegy nulla, és ebben az esetben a másodpercek számát követő tizedesvessző sem jelenik meg.

Bár az időérték második összetevőjének 100 ezredrészét is megjelenítheti, ez az érték nem feltétlenül értelmezhető. A dátum- és időértékek pontossága a rendszeróra felbontásától függ. A Windows NT 3.5 (és újabb) és a Windows Vista operációs rendszereken az óra felbontása körülbelül 10-15 ezredmásodperc.

Vissza a táblához

Az "FFFFFF" egyéni formátumjelölője

Az "FFFFFF" egyéni formátumkijelölő a másodperc tört hat legjelentősebb számjegyét jelöli; vagyis egy dátum- és időérték másodpercmilliomodik értékét jelöli. A záró nullák nem jelennek meg. Semmi sem jelenik meg, ha a hat jelentős számjegy nulla, és ebben az esetben a másodpercek számát követő tizedesvessző sem jelenik meg.

Bár az időérték második összetevőjének milliomodik része megjeleníthető, ez az érték nem feltétlenül értelmezhető. A dátum- és időértékek pontossága a rendszeróra felbontásától függ. A Windows NT 3.5 (és újabb) és a Windows Vista operációs rendszereken az óra felbontása körülbelül 10-15 ezredmásodperc.

Vissza a táblához

Az "FFFFFFF" egyéni formátumkijelölője

Az "FFFFFFF" egyéni formátumkijelölő a másodperc törtrész hét legjelentősebb számjegyét jelöli; vagyis egy dátum- és időértékben a másodperc tízmilliomodikát jelöli. A záró nullák nem jelennek meg. Semmi sem jelenik meg, ha a hét jelentős számjegy nulla, és ebben az esetben a másodpercek számát követő tizedesvessző sem jelenik meg.

Bár az időérték második összetevőjének tízmilliomodik része megjeleníthető, ez az érték nem feltétlenül értelmezhető. A dátum- és időértékek pontossága a rendszeróra felbontásától függ. A Windows NT 3.5 (és újabb) és a Windows Vista operációs rendszereken az óra felbontása körülbelül 10-15 ezredmásodperc.

Vissza a táblához

Era "g" formátumkijelölő

A "g" vagy a "gg" egyéni formátumkijelölő

A "g" vagy "gg" egyéni formátumjelölők (plusz a további "g" azonosítók száma) az időszakot vagy a korszakot jelölik, például az AD-t. A formázási művelet figyelmen kívül hagyja ezt a kijelölőt, ha a formázandó dátumhoz nem tartozik időszak- vagy érsztring.

Ha a "g" formátumjelölőt más egyéni formátumjelölők nélkül használja, a rendszer a "g" standard dátum- és időformátum-meghatározóként értelmezi. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Az alábbi példa a "g" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(70, 08, 04);

Console.WriteLine(date1.ToString("MM/dd/yyyy g",
                  CultureInfo.InvariantCulture));
// Displays 08/04/0070 A.D.
Console.WriteLine(date1.ToString("MM/dd/yyyy g",
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 08/04/0070 ap. J.-C.
Dim date1 As Date = #08/04/0070#

Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
                  CultureInfo.InvariantCulture))
' Displays 08/04/0070 A.D.                        
Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 08/04/0070 ap. J.-C.

Vissza a táblához

Kisbetűs óra "h" formátumkijelölő

A "h" egyéni formátumkijelölő

A "h" egyéni formátumkijelölő az órát 1 és 12 közötti számként jelöli; vagyis az órát egy 12 órás óra jelöli, amely éjfél vagy dél óta az egész órát megszámolja. Egy adott óra éjfél után nem megkülönböztethető a dél utáni egy órától. Az óra nincs kerekítve, és az egyjegyű óra bevezető nulla nélkül van formázva. Ha például reggel vagy délután 5:43-at ad meg, ez az egyéni formátumjelölő az "5" értéket jeleníti meg.

Ha a "h" formátumjelölőt más egyéni formátumjelölők nélkül használja, akkor a rendszer szabványos dátum- és időformátum-meghatározóként értelmezi, és egy FormatException. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Az alábbi példa a "h" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Vissza a táblához

A "hh" egyéni formátumkijelölő

A "hh" egyéni formátumkijelölő (plusz a további "h" azonosítók száma) az órát 01 és 12 közötti számként jelöli; vagyis az órát egy 12 órás óra jelöli, amely éjfél vagy dél óta az egész órát megszámolja. Egy adott óra éjfél után nem megkülönböztethető a dél utáni egy órától. Az óra nincs kerekítve, és egy egyjegyű óra bevezető nullával van formázva. Ha például reggel vagy délután 5:43-at ad meg, ez a formátumjelölő a "05" értéket jeleníti meg.

Az alábbi példa a "hh" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Vissza a táblához

Nagybetűs óra "H" formátumkijelölő

A "H" egyéni formátumkijelölő

A "H" egyéni formátumkijelölő az órát 0 és 23 közötti számként jelöli; vagyis az órát egy nulla alapú 24 órás óra jelöli, amely az éjfél óta eltelt órákat számolja. Az egyjegyű óra bevezető nulla nélkül van formázva.

Ha a "H" formátumjelölőt más egyéni formátumjelölők nélkül használja, akkor a rendszer szabványos dátum- és időformátum-meghatározóként értelmezi, és egy FormatException. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Az alábbi példa a "H" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("H:mm:ss",
                  CultureInfo.InvariantCulture));
// Displays 6:09:01
Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("H:mm:ss", _
                  CultureInfo.InvariantCulture))
' Displays 6:09:01                        

Vissza a táblához

A "HH" egyéni formátumkijelölő

A "HH" egyéni formátumkijelölő (plusz a további "H" azonosítók száma) az órát 00 és 23 közötti számként jelöli; vagyis az órát egy nulla alapú 24 órás óra jelöli, amely az éjfél óta eltelt órákat számolja. Az egyjegyű óra bevezető nullával van formázva.

Az alábbi példa a "HH" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("HH:mm:ss",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01
Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("HH:mm:ss", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01                        

Vissza a táblához

Időzóna "K" formátumkijelölője

A "K" egyéni formátumkijelölő

A "K" egyéni formátumkijelölő egy dátum- és időérték időzónájának adatait jelöli. Ha ezt a formátumjelölőt értékekkel DateTime használja, az eredménysztringet a DateTime.Kind tulajdonság értéke határozza meg:

  • A helyi időzóna (a DateTime.Kind tulajdonság értéke DateTimeKind.Local) esetében ez a megadó létrehoz egy eredménysztringet, amely tartalmazza az egyezményes világidő (UTC) helyi eltolását, például "-07:00".

  • UTC-idő (a DateTime.Kind tulajdonság értéke DateTimeKind.Utc) esetén az eredménysztring tartalmaz egy "Z" karaktert, amely egy UTC-dátumot jelöl.

  • Meghatározatlan időzónából (olyan időből, amelynek DateTime.Kind a tulajdonsága megegyezik DateTimeKind.Unspecified) az eredmény egyenértékű String.Empty.

Értékek esetén DateTimeOffset a "K" formátumjelölő egyenértékű a "zzz" formátumkijelölővel, és létrehoz egy eredménysztringet, amely az DateTimeOffset érték UTC-től való eltolását tartalmazza.

Ha a "K" formátumjelölőt más egyéni formátumjelölők nélkül használja a rendszer, akkor a rendszer szabványos dátum- és időformátum-meghatározóként értelmezi, és egy FormatException. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Az alábbi példában a "K" egyéni formátumjelölő különböző és DateTimeOffset értékekkel történő DateTime használatával kapott sztring jelenik meg az egyesült államokbeli csendes-óceáni időzónában lévő rendszerben.

Console.WriteLine(DateTime.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTime.UtcNow.ToString("%K"));
// Displays Z
Console.WriteLine("'{0}'",
                  DateTime.SpecifyKind(DateTime.Now,
                       DateTimeKind.Unspecified).ToString("%K"));
// Displays ''
Console.WriteLine(DateTimeOffset.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"));
// Displays +00:00
Console.WriteLine(new DateTimeOffset(2008, 5, 1, 6, 30, 0,
                      new TimeSpan(5, 0, 0)).ToString("%K"));
// Displays +05:00
Console.WriteLine(Date.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(Date.UtcNow.ToString("%K"))
' Displays Z      
Console.WriteLine("'{0}'", _
                  Date.SpecifyKind(Date.Now, _
                                   DateTimeKind.Unspecified). _
                  ToString("%K"))
' Displays ''      
Console.WriteLine(DateTimeOffset.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"))
' Displays +00:00
Console.WriteLine(New DateTimeOffset(2008, 5, 1, 6, 30, 0, _
                                     New TimeSpan(5, 0, 0)). _
                  ToString("%K"))
' Displays +05:00                        

Vissza a táblához

Perc "m" formátumválasztó

Az "m" egyéni formátumkijelölő

Az "m" egyéni formátumkijelölő a percet 0 és 59 közötti számként jelöli. A perc az elmúlt óra óta eltelt teljes perceket jelöli. Az egyjegyű perc bevezető nulla nélkül van formázva.

Ha az "m" formátumjelölőt más egyéni formátumjelölők nélkül használja, a rendszer az "m" szabványos dátum- és időformátum-meghatározóként értelmezi. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Az alábbi példa az "m" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Vissza a táblához

Az "mm" egyéni formátumkijelölő

Az "mm" egyéni formátumkijelölő (plusz a további "m" megadók száma) a percet 00 és 59 közötti számként jelöli. A perc az elmúlt óra óta eltelt teljes perceket jelöli. Az egyjegyű perc kezdő nullával van formázva.

Az alábbi példa az "mm" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Vissza a táblához

"M" hónap formátumjelölője

Az "M" egyéni formátumkijelölő

Az "M" egyéni formátumjelölő a hónapot 1 és 12 közötti számként jelöli (vagy 1 és 13 között a 13 hónapos naptárak esetében). Az egyjegyű hónap bevezető nulla nélkül van formázva.

Ha az "M" formátumjelölőt más egyéni formátumjelölők nélkül használja, akkor a rendszer az "M" szabvány dátum- és időformátum-meghatározójaként értelmezi. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Az alábbi példa az "M" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 8, 18);
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
                  CultureInfo.CreateSpecificCulture("nl-NL")));
// Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
                  CultureInfo.CreateSpecificCulture("lv-LV")));
// Displays (8) Aug, augusts
Dim date1 As Date = #8/18/2008#
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
                  CultureInfo.CreateSpecificCulture("nl-NL")))
' Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
                  CultureInfo.CreateSpecificCulture("lv-LV")))
' Displays (8) Aug, augusts                       

Vissza a táblához

Az "MM" egyéni formátumkijelölő

Az "MM" egyéni formátumkijelölő a hónapot 01 és 12 közötti számként jelöli (vagy 1 és 13 között a 13 hónapos naptárak esetében). Az egyjegyű hónap kezdő nullával van formázva.

Az alábbi példa az "MM" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);

Console.WriteLine(date1.ToString("dd, MM",
                  CultureInfo.InvariantCulture));
// 02, 01
Dim date1 As Date = #1/2/2008 6:30:15AM#

Console.WriteLine(date1.ToString("dd, MM", _
                  CultureInfo.InvariantCulture))
' 02, 01

Vissza a táblához

Az "MMM" egyéni formátumkijelölője

Az "MMM" egyéni formátumkijelölő a hónap rövidített nevét jelöli. A rendszer lekéri a hónap honosított rövidített nevét az DateTimeFormatInfo.AbbreviatedMonthNames aktuális vagy a megadott kultúra tulajdonságából.

Az alábbi példa az "MMM" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("ddd d MMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 août
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 août                                                

Vissza a táblához

Az "MMMM" egyéni formátumkijelölője

Az "MMMM" egyéni formátumkijelölő a hónap teljes nevét jelöli. A rendszer lekéri a hónap honosított nevét az DateTimeFormatInfo.MonthNames aktuális vagy a megadott kultúra tulajdonságából.

Az alábbi példa az "MMMM" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("dddd dd MMMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
                  CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerdì 29 agosto
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerdì 29 agosto                                          

Vissza a táblához

Másodperces "s" formátumjelölő

Az "s" egyéni formátumkijelölő

Az "s" egyéni formátumkijelölő a másodperceket 0 és 59 közötti számként jelöli. Az eredmény az utolsó perc óta eltelt egész másodpercet jelöli. Az egyjegyű másodperc bevezető nulla nélkül van formázva.

Ha az "s" formátumjelölőt más egyéni formátumjelölők nélkül használja, akkor a rendszer az "s" szabványos dátum- és időformátum-meghatározóként értelmezi. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Az alábbi példa az "s" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Vissza a táblához

Az "ss" egyéni formátumkijelölője

Az "ss" egyéni formátumkijelölő (plusz a további "s" azonosítók száma) a másodperceket 00 és 59 közötti számként jelöli. Az eredmény az utolsó perc óta eltelt egész másodpercet jelöli. Az egyjegyű másodperc kezdő nullával van formázva.

Az alábbi példa az "ss" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Vissza a táblához

Meridiem "t" formátumkijelölő

A "t" egyéni formátumkijelölő

A "t" egyéni formátumkijelölő az AM/PM tervező első karakterét jelöli. A rendszer lekéri a megfelelő honosított tervezőt az DateTimeFormatInfo.AMDesignator aktuális vagy adott kulturális környezetből vagy DateTimeFormatInfo.PMDesignator tulajdonságból. Az AM tervező minden alkalommal használható 0:00:00 (éjfél) és 11:59:59.999 között. A PM tervező minden alkalommal használható 12:00:00 (dél) és 23:59:59.999 között.

Ha a "t" formátumjelölőt más egyéni formátumjelölők nélkül használja, a rendszer a "t" szabványos dátum- és időformátum-meghatározóként értelmezi. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Az alábbi példa a "t" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Vissza a táblához

A "tt" egyéni formátumkijelölő

A "tt" egyéni formátumkijelölő (plusz a további "t" azonosítók száma) a teljes AM/PM-tervezőt jelöli. A rendszer lekéri a megfelelő honosított tervezőt az DateTimeFormatInfo.AMDesignator aktuális vagy adott kulturális környezetből vagy DateTimeFormatInfo.PMDesignator tulajdonságból. Az AM tervező minden alkalommal használható 0:00:00 (éjfél) és 11:59:59.999 között. A PM tervező minden alkalommal használható 12:00:00 (dél) és 23:59:59.999 között.

Mindenképpen használja a "tt" jelölőt azokhoz a nyelvekhez, amelyek esetében meg kell tartani az AM és a PM közötti különbséget. Ilyen például a japán, amelyhez az AM és a PM tervezői az első karakter helyett a második karakterben különböznek.

Az alábbi példa a "tt" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Vissza a táblához

Év "y" formátumkijelölője

Az "y" egyéni formátumkijelölő

Az "y" egyéni formátumkijelölő egyjegyű vagy kétjegyű számként jelöli az évet. Ha az év két számjegynél több számjegyből áll, az eredményben csak a két alacsonyrendű számjegy jelenik meg. Ha egy kétjegyű év első számjegye nullával kezdődik (például 2008), a szám kezdő nulla nélkül lesz formázva.

Ha az "y" formátumjelölőt más egyéni formátumjelölők nélkül használja, akkor a rendszer az "y" szabványos dátum- és időformátum-meghatározóként értelmezi. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Az alábbi példa az "y" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Vissza a táblához

Az "yy" egyéni formátumkijelölő

Az "yy" egyéni formátumválasztó kétjegyű számként jelöli az évet. Ha az év két számjegynél több számjegyből áll, az eredményben csak a két alacsonyrendű számjegy jelenik meg. Ha a kétjegyű év kevesebb, mint két jelentős számjegyből áll, akkor a szám kezdő nullákkal van kitöltve, hogy két számjegyet állítsunk elő.

Elemzési művelet esetén a rendszer az "yy" egyéni formátumjelölővel elemezett kétjegyű évet a formátumszolgáltató aktuális naptárának tulajdonsága alapján Calendar.TwoDigitYearMax értelmezi. Az alábbi példa egy kétjegyű évszámú dátum sztringképét elemzi az en-US kultúra alapértelmezett Gergely-naptárának használatával, amely ebben az esetben az aktuális kultúra. Ezután módosítja az aktuális kultúra objektumát CultureInfo egy GregorianCalendar olyan objektum használatára, amelynek TwoDigitYearMax a tulajdonsága módosult.

using System;
using System.Globalization;
using System.Threading;

public class Example7
{
    public static void Main()
    {
        string fmt = "dd-MMM-yy";
        string value = "24-Jan-49";

        Calendar cal = (Calendar)CultureInfo.CurrentCulture.Calendar.Clone();
        Console.WriteLine("Two Digit Year Range: {0} - {1}",
                          cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax);

        Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, null));
        Console.WriteLine();

        cal.TwoDigitYearMax = 2099;
        CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
        culture.DateTimeFormat.Calendar = cal;
        Thread.CurrentThread.CurrentCulture = culture;

        Console.WriteLine("Two Digit Year Range: {0} - {1}",
                          cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax);
        Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, null));
    }
}
// The example displays the following output:
//       Two Digit Year Range: 1930 - 2029
//       1/24/1949
//
//       Two Digit Year Range: 2000 - 2099
//       1/24/2049
Imports System.Globalization
Imports System.Threading

Module Example
    Public Sub Main()
        Dim fmt As String = "dd-MMM-yy"
        Dim value As String = "24-Jan-49"

        Dim cal As Calendar = CType(CultureInfo.CurrentCulture.Calendar.Clone(), Calendar)
        Console.WriteLine("Two Digit Year Range: {0} - {1}",
                          cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax)

        Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, Nothing))
        Console.WriteLine()

        cal.TwoDigitYearMax = 2099
        Dim culture As CultureInfo = CType(CultureInfo.CurrentCulture.Clone(), CultureInfo)
        culture.DateTimeFormat.Calendar = cal
        Thread.CurrentThread.CurrentCulture = culture

        Console.WriteLine("Two Digit Year Range: {0} - {1}",
                          cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax)
        Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, Nothing))
    End Sub
End Module
' The example displays the following output:
'       Two Digit Year Range: 1930 - 2029
'       1/24/1949
'       
'       Two Digit Year Range: 2000 - 2099
'       1/24/2049

Az alábbi példa az "yy" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Vissza a táblához

Az "yyy" egyéni formátumkijelölő

Az "yyy" egyéni formátumválasztó legalább három számjegyből álló évet jelöl. Ha az év háromnál több jelentős számjegyet tartalmaz, az eredménysztring tartalmazza őket. Ha az év kevesebb mint három számjegyből áll, a szám bevezető nullákkal van kitöltve, hogy három számjegyet állítsunk elő.

Feljegyzés

Az ötjegyű éveket is tartalmazható thai buddhista naptár esetében ez a formátumkijelölő megjeleníti az összes jelentős számjegyet.

Az alábbi példa az "yyy" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Vissza a táblához

Az "yyyy" egyéni formátumkijelölő

Az "yyyy" egyéni formátumválasztó legalább négy számjegyből álló évet jelöl. Ha az év négynél több jelentős számjegyet tartalmaz, az eredménysztring tartalmazza őket. Ha az év négynél kevesebb számjegyből áll, a szám kezdő nullákkal van kitöltve, hogy négy számjegyet állítsunk elő.

Feljegyzés

A thai buddhista naptár esetében, amely ötjegyű év lehet, ez a formátumválasztó legalább négy számjegyet jelenít meg.

Az alábbi példa az "yyyy" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Vissza a táblához

Az "yyyyy" egyéni formátumkijelölő

Az "yyy" egyéni formátumkijelölő (plusz a további "y" azonosítók száma) legalább öt számjegyből álló évet jelöl. Ha az év ötnél több jelentős számjegyet tartalmaz, az eredménysztring tartalmazza őket. Ha az év kevesebb mint öt számjegyből áll, a szám kezdő nullákkal van kitöltve, hogy öt számjegyet állítsunk elő.

Ha további "y" azonosítók is vannak, a szám annyi kezdő nullával van elválasztva, amennyi szükséges az "y" azonosítók számának létrehozásához.

Az alábbi példa az "yyyyyy" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Vissza a táblához

"z" eltolás formátumkijelölője

A "z" egyéni formátumkijelölő

Az értékeknél DateTime a "z" egyéni formátumkijelölő a megadott időzóna aláírt eltolását jelöli a koordinált egyetemes időről (UTC), órákban mérve. Az eltolás mindig bevezető jellel jelenik meg. A pluszjel (+) az UTC előtti órákat, a mínuszjel (-) pedig az UTC-nél több órát jelöl. Az egyjegyű eltolás bevezető nulla nélkül van formázva.

Az alábbi táblázat bemutatja, hogyan változik az eltolás értéke a függvénytől DateTimeKindfüggően.

DateTimeKind Érték Eltolás értéke
Local A helyi operációs rendszer időzónájának aláírt eltolása UTC-től.
Unspecified A helyi operációs rendszer időzónájának aláírt eltolása UTC-től.
Utc +0 a .NET Core és a .NET 5+ rendszeren.

A .NET-keretrendszer a helyi operációs rendszer időzónájának aláírt eltolása UTC-től.

Az DateTimeOffset értékeknél ez a formátumkijelölő órákban az DateTimeOffset UTC-től való eltolást jelöli.

Ha a "z" formátumjelölőt más egyéni formátumjelölők nélkül használja, akkor a rendszer szabványos dátum- és időformátum-meghatározóként értelmezi, és egy FormatException. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Az alábbi példa a "z" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date1));
// Displays -7, -07, -07:00 on .NET Framework
// Displays +0, +00, +00:00 on .NET Core and .NET 5+

DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
                                          new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date1))
' Displays -7, -07, -07:00 on .NET Framework
' Displays +0, +00, +00:00 on .NET Core and .NET 5+

Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
                                New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date2))
' Displays +6, +06, +06:00

Vissza a táblához

A "zz" egyéni formátumkijelölő

Az értékekkel DateTime a "zz" egyéni formátumjelölő a megadott időzóna utc-ről aláírt eltolását jelöli, órákban mérve. Az eltolás mindig bevezető jellel jelenik meg. A pluszjel (+) az UTC előtti órákat, a mínuszjel (-) pedig az UTC-nél több órát jelöl. Az egyjegyű eltolás kezdő nullával van formázva.

Az alábbi táblázat bemutatja, hogyan változik az eltolás értéke a függvénytől DateTimeKindfüggően.

DateTimeKind Érték Eltolás értéke
Local A helyi operációs rendszer időzónájának aláírt eltolása UTC-től.
Unspecified A helyi operációs rendszer időzónájának aláírt eltolása UTC-től.
Utc +00 a .NET Core és a .NET 5+ rendszeren.

A .NET-keretrendszer a helyi operációs rendszer időzónájának aláírt eltolása UTC-től.

Az DateTimeOffset értékeknél ez a formátumkijelölő órákban az DateTimeOffset UTC-től való eltolást jelöli.

Az alábbi példa a "zz" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date1));
// Displays -7, -07, -07:00 on .NET Framework
// Displays +0, +00, +00:00 on .NET Core and .NET 5+

DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
                                          new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date1))
' Displays -7, -07, -07:00 on .NET Framework
' Displays +0, +00, +00:00 on .NET Core and .NET 5+

Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
                                New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date2))
' Displays +6, +06, +06:00

Vissza a táblához

A "zzz" egyéni formátumkijelölője

Az értékeknél DateTime a "zzz" egyéni formátumjelölő a megadott időzóna utc-ről aláírt eltolását jelöli, órákban és percekben mérve. Az eltolás mindig bevezető jellel jelenik meg. A pluszjel (+) az UTC előtti órákat, a mínuszjel (-) pedig az UTC-nél több órát jelöl. Az egyjegyű eltolás kezdő nullával van formázva.

Az alábbi táblázat bemutatja, hogyan változik az eltolás értéke a függvénytől DateTimeKindfüggően.

DateTimeKind Érték Eltolás értéke
Local A helyi operációs rendszer időzónájának aláírt eltolása UTC-től.
Unspecified A helyi operációs rendszer időzónájának aláírt eltolása UTC-től.
Utc +00:00 a .NET Core és a .NET 5+ rendszeren.

A .NET-keretrendszer a helyi operációs rendszer időzónájának aláírt eltolása UTC-től.

Értékekkel DateTimeOffset ez a formátumkijelölő órákban és percekben jeleníti meg az DateTimeOffset érték UTC-től való eltolását.

Az alábbi példa a "zzz" egyéni formátumkijelölőt tartalmazza egy egyéni formátumsztringben.

DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date1));
// Displays -7, -07, -07:00 on .NET Framework
// Displays +0, +00, +00:00 on .NET Core and .NET 5+

DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
                                          new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date1))
' Displays -7, -07, -07:00 on .NET Framework
' Displays +0, +00, +00:00 on .NET Core and .NET 5+

Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
                                New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date2))
' Displays +6, +06, +06:00

Vissza a táblához

Dátum- és időelválasztók

Az "" egyéni formátumkijelölő

Az "" egyéni formátumjelölő az időelválasztót jelöli, amely órák, percek és másodpercek megkülönböztetésére szolgál. A rendszer lekéri a megfelelő honosított időelválasztót az DateTimeFormatInfo.TimeSeparator aktuális vagy a megadott kultúra tulajdonságából.

Feljegyzés

Egy adott dátum- és idősztring időelválasztójának módosításához adja meg az elválasztó karaktert egy literális sztringelválasztón belül. Az egyéni formátumsztring hh'_'dd'_'ss például létrehoz egy eredménysztringet, amelyben a "_" (aláhúzásjel) mindig időelválasztóként használatos. Ha módosítani szeretné egy kultúra összes dátumának időelválasztóját, módosítsa az aktuális kultúra tulajdonságának DateTimeFormatInfo.TimeSeparator értékét, vagy példányosítson egy DateTimeFormatInfo objektumot, rendelje hozzá a karaktert a tulajdonságához TimeSeparator , és hívja meg a paramétert IFormatProvider tartalmazó formázási módszer túlterhelését.

Ha a "" formátumjelölőt más egyéni formátumjelölők nélkül használja a rendszer, akkor a rendszer szabványos dátum- és időformátum-meghatározóként értelmezi, és egy FormatException. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Vissza a táblához

Az "/" egyéni formátumkijelölő

Az "/" egyéni formátumjelölő a dátumelválasztót jelöli, amely az évek, hónapok és napok megkülönböztetésére szolgál. A rendszer lekéri a megfelelő honosított dátumelválasztót az DateTimeFormatInfo.DateSeparator aktuális vagy a megadott kultúra tulajdonságából.

Feljegyzés

Egy adott dátum- és idősztring dátumelválasztójának módosításához adja meg az elválasztó karaktert egy literális sztringelválasztón belül. Az egyéni formázási sztring mm'/'dd'/'yyyy például létrehoz egy eredménysztringet, amelyben a "/" mindig dátumelválasztóként van használva. Ha módosítani szeretné egy kultúra összes dátumának dátumelválasztóját, módosítsa az aktuális kultúra tulajdonságának DateTimeFormatInfo.DateSeparator értékét, vagy példányosítson egy DateTimeFormatInfo objektumot, rendelje hozzá a karaktert a tulajdonságához DateSeparator , és hívja meg a paramétert IFormatProvider tartalmazó formázási módszer túlterhelését.

Ha a "/" formátumjelölőt más egyéni formátumkijelölők nélkül használja, akkor a rendszer szabványos dátum- és időformátum-meghatározóként értelmezi, és egy FormatException. Az egyetlen formátumkijelölő használatával kapcsolatos további információkért lásd a jelen cikk későbbi, önálló egyéni formátumjelölőinek használatát ismertető cikket.

Vissza a táblához

Karakterkonstansok

Az egyéni dátum- és időformátum sztringjének következő karakterei fenntartottak, és mindig formázási karakterekként, illetve speciális karakterekként"'/\, illetve speciális karakterekként vannak értelmezve.

  • F
  • H
  • K
  • M
  • d
  • f
  • g
  • h
  • m
  • s
  • t
  • y
  • z
  • %
  • :
  • /
  • "
  • '
  • \

A többi karakter mindig karakterkonstansként van értelmezve, és egy formázási műveletben változatlanul szerepel az eredménysztringben. Elemzési művelet esetén pontosan meg kell egyezniük a bemeneti sztringben szereplő karakterekkel; az összehasonlítás megkülönbözteti a kis- és nagybetűkét.

Az alábbi példa a "PST" (csendes-óceáni téli idő) és a "PDT" (csendes-óceáni nyári idő esetén) literális karaktereket tartalmazza a helyi időzóna formátumsztringben való megjelenítéséhez. Vegye figyelembe, hogy a sztring szerepel az eredménysztringben, és a helyi időzóna-sztringet tartalmazó sztring is sikeresen elemzi.

using System;
using System.Globalization;

public class Example5
{
    public static void Main()
    {
        String[] formats = { "dd MMM yyyy hh:mm tt PST",
                           "dd MMM yyyy hh:mm tt PDT" };
        var dat = new DateTime(2016, 8, 18, 16, 50, 0);
        // Display the result string.
        Console.WriteLine(dat.ToString(formats[1]));

        // Parse a string.
        String value = "25 Dec 2016 12:00 pm PST";
        DateTime newDate;
        if (DateTime.TryParseExact(value, formats, null,
                                   DateTimeStyles.None, out newDate))
            Console.WriteLine(newDate);
        else
            Console.WriteLine("Unable to parse '{0}'", value);
    }
}
// The example displays the following output:
//       18 Aug 2016 04:50 PM PDT
//       12/25/2016 12:00:00 PM
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim formats() As String = {"dd MMM yyyy hh:mm tt PST",
                                    "dd MMM yyyy hh:mm tt PDT"}
        Dim dat As New Date(2016, 8, 18, 16, 50, 0)
        ' Display the result string. 
        Console.WriteLine(dat.ToString(formats(1)))

        ' Parse a string. 
        Dim value As String = "25 Dec 2016 12:00 pm PST"
        Dim newDate As Date
        If Date.TryParseExact(value, formats, Nothing,
                              DateTimeStyles.None, newDate) Then
            Console.WriteLine(newDate)
        Else
            Console.WriteLine("Unable to parse '{0}'", value)
        End If
    End Sub
End Module
' The example displays the following output:
'       18 Aug 2016 04:50 PM PDT
'       12/25/2016 12:00:00 PM

Kétféleképpen jelezhető, hogy a karaktereket nem tartalék karakterként, hanem literális karakterként kell értelmezni, hogy belefoglalhatók legyenek egy eredménysztringbe, vagy sikeresen elemezhetők legyenek egy bemeneti sztringben:

  • Az egyes fenntartott karakterek szökésével. További információ: A feloldó karakter használata.

Az alábbi példa a "pst" literál karaktereket tartalmazza (csendes-óceáni téli idő esetén) a helyi időzóna formátumsztringben való megjelenítéséhez. Mivel az "s" és a "t" is egyéni formázási sztring, mindkét karaktert karakterkonstansként kell értelmezni.

using System;
using System.Globalization;

public class Example3
{
    public static void Main()
    {
        String format = "dd MMM yyyy hh:mm tt p\\s\\t";
        var dat = new DateTime(2016, 8, 18, 16, 50, 0);
        // Display the result string.
        Console.WriteLine(dat.ToString(format));

        // Parse a string.
        String value = "25 Dec 2016 12:00 pm pst";
        DateTime newDate;
        if (DateTime.TryParseExact(value, format, null,
                                   DateTimeStyles.None, out newDate))
            Console.WriteLine(newDate);
        else
            Console.WriteLine("Unable to parse '{0}'", value);
    }
}
// The example displays the following output:
//       18 Aug 2016 04:50 PM pst
//       12/25/2016 12:00:00 PM
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim fmt As String = "dd MMM yyyy hh:mm tt p\s\t"
        Dim dat As New Date(2016, 8, 18, 16, 50, 0)
        ' Display the result string. 
        Console.WriteLine(dat.ToString(fmt))

        ' Parse a string. 
        Dim value As String = "25 Dec 2016 12:00 pm pst"
        Dim newDate As Date
        If Date.TryParseExact(value, fmt, Nothing,
                              DateTimeStyles.None, newDate) Then
            Console.WriteLine(newDate)
        Else
            Console.WriteLine("Unable to parse '{0}'", value)
        End If
    End Sub
End Module
' The example displays the following output:
'       18 Aug 2016 04:50 PM pst
'       12/25/2016 12:00:00 PM
  • Ha a teljes literális sztringet idézőjelek vagy aposztrófok közé rendezi. Az alábbi példa az előzőhöz hasonló, azzal a kivétellel, hogy a "pst" idézőjelek közé van zárva, ami azt jelzi, hogy a teljes elválasztott sztringet karakterkonstansként kell értelmezni.
using System;
using System.Globalization;

public class Example6
{
    public static void Main()
    {
        String format = "dd MMM yyyy hh:mm tt \"pst\"";
        var dat = new DateTime(2016, 8, 18, 16, 50, 0);
        // Display the result string.
        Console.WriteLine(dat.ToString(format));

        // Parse a string.
        String value = "25 Dec 2016 12:00 pm pst";
        DateTime newDate;
        if (DateTime.TryParseExact(value, format, null,
                                   DateTimeStyles.None, out newDate))
            Console.WriteLine(newDate);
        else
            Console.WriteLine("Unable to parse '{0}'", value);
    }
}
// The example displays the following output:
//       18 Aug 2016 04:50 PM pst
//       12/25/2016 12:00:00 PM
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim fmt As String = "dd MMM yyyy hh:mm tt ""pst"""
        Dim dat As New Date(2016, 8, 18, 16, 50, 0)
        ' Display the result string. 
        Console.WriteLine(dat.ToString(fmt))

        ' Parse a string. 
        Dim value As String = "25 Dec 2016 12:00 pm pst"
        Dim newDate As Date
        If Date.TryParseExact(value, fmt, Nothing,
                              DateTimeStyles.None, newDate) Then
            Console.WriteLine(newDate)
        Else
            Console.WriteLine("Unable to parse '{0}'", value)
        End If
    End Sub
End Module
' The example displays the following output:
'       18 Aug 2016 04:50 PM pst
'       12/25/2016 12:00:00 PM

Jegyzetek

Egyéni formátumkijelölők használata

Az egyéni dátum- és időformátum sztringje két vagy több karakterből áll. A dátum- és időformázási módszerek az egykarakú sztringeket szabványos dátum- és időformátum-sztringként értelmezik. Ha nem ismerik fel a karaktert érvényes formátumkijelölőként, egy FormatException. Egy olyan formátumsztringet például, amely csak a "h" paraméterből áll, szabványos dátum- és időformátum-sztringként értelmezi. Ebben a konkrét esetben azonban kivétel történik, mert nincs "h" szabványos dátum- és időformátum-meghatározó.

Az egyéni dátum- és időformátum-meghatározók bármelyikének használata a formátumsztring egyetlen meghatározójaként (azaz a "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" vagy "/" egyéni formátumjelölő önmagában történő használatához adjon meg egy szóközt a kijelölő előtt vagy után, vagy adjon meg egy százalék ("%") formátumjelölőt az egyéni dátum- és időjelölő előtt.

A "%h" kifejezés például egyéni dátum- és időformátum-sztringként van értelmezve, amely az aktuális dátum és idő érték által képviselt órát jeleníti meg. Használhatja a "h" vagy a "h" formátumsztringet is, bár ez az eredménysztringben tartalmaz egy szóközt az órajellel együtt. Az alábbi példa ezt a három formátumsztringet szemlélteti.

DateTime dat1 = new DateTime(2009, 6, 15, 13, 45, 0);

Console.WriteLine("'{0:%h}'", dat1);
Console.WriteLine("'{0: h}'", dat1);
Console.WriteLine("'{0:h }'", dat1);
// The example displays the following output:
//       '1'
//       ' 1'
//       '1 '
Dim dat1 As Date = #6/15/2009 1:45PM#

Console.WriteLine("'{0:%h}'", dat1)
Console.WriteLine("'{0: h}'", dat1)
Console.WriteLine("'{0:h }'", dat1)
' The example displays the following output:
'       '1'
'       ' 1'
'       '1 '

A Escape karakter használata

A formátumsztringben szereplő "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":", vagy "/" karaktereket a formátumsztringben a rendszer nem literális karakterként, hanem egyéni formátumjelölőként értelmezi. Ha meg szeretné akadályozni, hogy egy karakter formátumjelölőként legyen értelmezve, előzheti meg egy fordított perjellel (\), amely a feloldó karakter. A feloldó karakter azt jelzi, hogy a következő karakter egy karakterkonstans, amelyet változatlanul kell szerepeltetni az eredménysztringben.

Ha egy fordított perjelet szeretne belefoglalni egy eredménysztringbe, meg kell szabadulnia egy másik fordított perjellel (\\).

Feljegyzés

Egyes fordítók, például a C++ és a C# fordítók, egy fordított perjel karaktert is értelmezhetnek escape karakterként. Annak érdekében, hogy a formázáskor a sztring megfelelően legyen értelmezve, használhatja a szó szerinti sztring literális karakterét (a @ karaktert) a C#-sztring előtt, vagy hozzáadhat egy másik fordított perjelet a C# és a C++ sztring minden fordított perjele előtt. Az alábbi C#-példa mindkét megközelítést szemlélteti.

Az alábbi példa a feloldó karakter használatával megakadályozza, hogy a formázási művelet formázóként értelmezze a "h" és az "m" karaktereket.

DateTime date = new DateTime(2009, 06, 15, 13, 45, 30, 90);
string fmt1 = "h \\h m \\m";
string fmt2 = @"h \h m \m";

Console.WriteLine("{0} ({1}) -> {2}", date, fmt1, date.ToString(fmt1));
Console.WriteLine("{0} ({1}) -> {2}", date, fmt2, date.ToString(fmt2));
// The example displays the following output:
//       6/15/2009 1:45:30 PM (h \h m \m) -> 1 h 45 m
//       6/15/2009 1:45:30 PM (h \h m \m) -> 1 h 45 m
Dim date1 As Date = #6/15/2009 13:45#
Dim fmt As String = "h \h m \m"

Console.WriteLine("{0} ({1}) -> {2}", date1, fmt, date1.ToString(fmt))
' The example displays the following output:
'       6/15/2009 1:45:00 PM (h \h m \m) -> 1 h 45 m      

Vezérlőpult beállítások

A területi és nyelvi beállítások beállításai Vezérlőpult befolyásolják a formázási művelet által létrehozott eredménysztringet, amely számos egyéni dátum- és időformátum-meghatározót tartalmaz. Ezek a beállítások az aktuális kultúrához társított objektum inicializálására DateTimeFormatInfo szolgálnak, amely a formázás szabályozására szolgáló értékeket biztosít. A különböző beállításokat használó számítógépek különböző eredménysztringeket hoznak létre.

Ezenkívül ha a CultureInfo(String) konstruktor használatával egy olyan új CultureInfo objektumot hoz létre, amely az aktuális rendszerkultúra kultúráját képviseli, a területi és nyelvi beállítások elem által a Vezérlőpult által létrehozott testreszabások az új CultureInfo objektumra lesznek alkalmazva. A konstruktor használatával CultureInfo(String, Boolean) olyan objektumot CultureInfo hozhat létre, amely nem tükrözi a rendszer testreszabását.

DateTimeFormatInfo tulajdonságai

A formázást az aktuális DateTimeFormatInfo objektum tulajdonságai befolyásolják, amelyet implicit módon az aktuális kultúra vagy a IFormatProvider formázást meghívó metódus paramétere biztosít. IFormatProvider A paraméterhez meg kell adnia egy CultureInfo objektumot, amely egy kultúrát vagy objektumot DateTimeFormatInfo jelöl.

Az egyéni dátum- és időformátum-meghatározók közül sok által létrehozott eredménysztring az aktuális DateTimeFormatInfo objektum tulajdonságaitól is függ. Az alkalmazás a megfelelő DateTimeFormatInfo tulajdonság módosításával módosíthatja az egyéni dátum- és időformátum-meghatározók által létrehozott eredményt. A "ddd" formátumjelölő például hozzáad egy rövidített hétköznap nevet, amely a AbbreviatedDayNames sztringtömbben található az eredménysztringhez. Hasonlóképpen, az "MMMM" formátumkijelölő egy teljes hónapnevet ad hozzá a MonthNames sztringtömbben található eredménysztringhez.

Lásd még