Megosztás a következőn keresztül:


Standard TimeSpan formátumú sztringek

A szabványos TimeSpan formázási sztringek egyetlen formátumkijelölővel határozzák meg a formázási műveletből származó TimeSpan érték szöveges ábrázolását. Minden olyan formázási sztring, amely egynél több karaktert tartalmaz, beleértve a szóközt is, egyéni TimeSpan formázási sztringként lesz értelmezve. További információ: Custom TimeSpan formátumú sztringek.

A TimeSpan értékek sztringreprezentációit a TimeSpan.ToString metódus túlterhelésére irányuló hívások, valamint az összetett formázást támogató metódusok, például a String.Format. További információ: Formázástípusok és Összetett formázás. Az alábbi példa a szabványos formázási sztringek formázási műveletekben való használatát mutatja be.

using System;

public class Example
{
   public static void Main()
   {
      TimeSpan duration = new TimeSpan(1, 12, 23, 62);
      string output = "Time of Travel: " + duration.ToString("c");
      Console.WriteLine(output);

      Console.WriteLine($"Time of Travel: {duration:c}");
   }
}
// The example displays the following output:
//       Time of Travel: 1.12:24:02
//       Time of Travel: 1.12:24:02
Module Example
    Public Sub Main()
        Dim duration As New TimeSpan(1, 12, 23, 62)
        Dim output As String = "Time of Travel: " + duration.ToString("c")
        Console.WriteLine(output)

        Console.WriteLine("Time of Travel: {0:c}", duration)
    End Sub
End Module
' The example displays the following output:
'       Time of Travel: 1.12:24:02
'       Time of Travel: 1.12:24:02

A standard TimeSpan formátumsztringeket a TimeSpan.ParseExact és TimeSpan.TryParseExact metódusok is használják az elemzési műveletekhez szükséges bemeneti sztringek formátumának meghatározásához. (Az elemzés egy érték sztring-ábrázolását konvertálja erre az értékre.) Az alábbi példa a standard formátumú sztringek használatát mutatja be az elemzési műveletekben.

using System;

public class Example
{
   public static void Main()
   {
      string value = "1.03:14:56.1667";
      TimeSpan interval;
      try {
         interval = TimeSpan.ParseExact(value, "c", null);
         Console.WriteLine($"Converted '{value}' to {interval}");
      }
      catch (FormatException) {
         Console.WriteLine($"{value}: Bad Format");
      }
      catch (OverflowException) {
         Console.WriteLine($"{value}: Out of Range");
      }

      if (TimeSpan.TryParseExact(value, "c", null, out interval))
         Console.WriteLine($"Converted '{value}' to {interval}");
      else
         Console.WriteLine($"Unable to convert {value} to a time interval.");
   }
}
// The example displays the following output:
//       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
//       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
Module Example
    Public Sub Main()
        Dim value As String = "1.03:14:56.1667"
        Dim interval As TimeSpan
        Try
            interval = TimeSpan.ParseExact(value, "c", Nothing)
            Console.WriteLine("Converted '{0}' to {1}", value, interval)
        Catch e As FormatException
            Console.WriteLine("{0}: Bad Format", value)
        Catch e As OverflowException
            Console.WriteLine("{0}: Out of Range", value)
        End Try

        If TimeSpan.TryParseExact(value, "c", Nothing, interval) Then
            Console.WriteLine("Converted '{0}' to {1}", value, interval)
        Else
            Console.WriteLine("Unable to convert {0} to a time interval.",
                              value)
        End If
    End Sub
End Module
' The example displays the following output:
'       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
'       Converted '1.03:14:56.1667' to 1.03:14:56.1667000

Az alábbi táblázat a szabványos időintervallum-formátumjelölőket sorolja fel.

Formátumkijelölő Név Leírás Példák
"c" Állandó (invariáns) formátum Ez a kijelölő nem kulturális szempontból érzékeny. Az űrlap [-][d'.']hh':'mm':'ss['.'fffffff].

(A "t" és a "T" formátumú sztringek ugyanazt az eredményt eredményezik.)

További információ: The Constant ("c") Format Specifier.
TimeSpan.Zero -> 00:00:00

New TimeSpan(0, 0, 30, 0) -> 00:30:00

New TimeSpan(3, 17, 25, 30, 500) -> 3.17:25:30.5000000
"g" Általános rövid formátum Ez a kijelölő csak azt adja ki, amire szükség van. Kulturális szempontból érzékeny, és [-][d':']h':'mm':'ss[.FFFFFFF]formáját veszi fel.

További információ: Az általános rövid ("g") formátumkijelölő.
New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50.5 (en-US)

New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50,5 (fr-FR)

New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50.599 (en-US)

New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50 599 (fr-FR)
"G" Általános hosszú formátum Ez a kijelölő mindig napokat és hét törtjegyet ad ki. Kulturális szempontból érzékeny, és [-]d':'hh':'mm':'ss.fffffffformáját veszi fel.

További információ: Az Általános hosszú ("G") formátumkijelölő.
New TimeSpan(18, 30, 0) -> 0:18:30:00.0000000 (en-US)

New TimeSpan(18, 30, 0) -> 0:18:30:00 0000000 (fr-FR)

Az állandó ("c") formátumjelölője

A "c" formátumjelölő egy TimeSpan érték sztring-ábrázolását adja vissza az alábbi formában:

[-][d.]hh:mm:ss[.fffffff]

A szögletes zárójelek ([ és ]) elemei nem kötelezőek. A pont (.) és a kettőspont (:) literális szimbólumok. Az alábbi táblázat a fennmaradó elemeket ismerteti.

Elem Leírás
- Nem kötelező negatív jel, amely negatív időintervallumot jelez.
d Az opcionális napok száma, kezdő nullák nélkül.
Hh Az órák száma, amely "00" és "23" között mozog.
mm A percek száma, amely "00" és "59" között mozog.
ss A másodpercek száma, amely "0" és "59" között mozog.
fffffff A másodperc opcionális törtrésze. Értéke a "0000001" (egy pipa vagy egy tizedmásodik másodperc) és a "9999999" (9 999 999 999 tized másodperc, vagy egy másodperccel kisebb egy pipa) között mozoghat.

A "g" és a "G" formátumjelölőtől eltérően a "c" formátumjelölő nem kulturális szempontból érzékeny. Egy invariáns TimeSpan érték sztringképét állítja elő, amely a .NET-keretrendszer 4 előtti verziókban gyakori. A "c" az alapértelmezett TimeSpan formátumsztring; a TimeSpan.ToString() metódus a "c" formátumsztring használatával formázza az időintervallum értékét.

Megjegyzés

TimeSpan támogatja a "t" és a "T" standard formátumú sztringeket is, amelyek a "c" standard formátumsztring viselkedésében megegyeznek.

Az alábbi példa két TimeSpan objektumot példányosít, aritmetikai műveletek végrehajtására használja őket, és megjeleníti az eredményt. Minden esetben összetett formázással jeleníti meg a TimeSpan értéket a "c" formátumkijelölő használatával.

using System;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);

      Console.WriteLine($"{interval1:c} - {interval2:c} = {interval1 - interval2:c}");
      Console.WriteLine($"{interval1:c} + {interval2:c} = {interval1 + interval2:c}");

      interval1 = new TimeSpan(0, 0, 1, 14, 365);
      interval2 = TimeSpan.FromTicks(2143756);
      Console.WriteLine($"{interval1:c} + {interval2:c} = {interval1 + interval2:c}");
   }
}
// The example displays the following output:
//       07:45:16 - 18:12:38 = -10:27:22
//       07:45:16 + 18:12:38 = 1.01:57:54
//       00:01:14.3650000 + 00:00:00.2143756 = 00:01:14.5793756
Module Example
    Public Sub Main()
        Dim interval1, interval2 As TimeSpan
        interval1 = New TimeSpan(7, 45, 16)
        interval2 = New TimeSpan(18, 12, 38)

        Console.WriteLine("{0:c} - {1:c} = {2:c}", interval1,
                          interval2, interval1 - interval2)
        Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1,
                          interval2, interval1 + interval2)

        interval1 = New TimeSpan(0, 0, 1, 14, 365)
        interval2 = TimeSpan.FromTicks(2143756)
        Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1,
                          interval2, interval1 + interval2)
    End Sub
End Module
' The example displays the following output:
'       07:45:16 - 18:12:38 = -10:27:22
'       07:45:16 + 18:12:38 = 1.01:57:54
'       00:01:14.3650000 + 00:00:00.2143756 = 00:01:14.5793756

Az Általános rövid ("g") formátumkijelölő

A "g" TimeSpan formátumjelölő egy TimeSpan érték sztring-ábrázolását adja vissza kompakt formában, csak a szükséges elemek beleszámítva. A következő űrlapot tartalmazza:

[-][d:]h:mm:ss[.FFFFFFF]

A szögletes zárójelek ([ és ]) elemei nem kötelezőek. A kettőspont (:) egy literális szimbólum. Az alábbi táblázat a fennmaradó elemeket ismerteti.

Elem Leírás
- Nem kötelező negatív jel, amely negatív időintervallumot jelez.
d Az opcionális napok száma, kezdő nullák nélkül.
h Az órák száma, amely "0" és "23" között mozog, kezdő nullák nélkül.
mm A percek száma, amely "00" és "59" között mozog.
ss A másodpercek száma, amely "00" és "59" között mozog.
. A tört másodperc elválasztó. Ez egyenértékű a megadott kultúra NumberDecimalSeparator tulajdonságával felhasználói felülbírálások nélkül.
FFFFF A tört másodperc. A lehető legkevesebb számjegy jelenik meg.

A "G" formátumkijelölőhez hasonlóan a "g" formátumkijelölő is honosított. A tört másodperces elválasztó az aktuális kultúrán vagy egy adott kultúra NumberDecimalSeparator tulajdonságán alapul.

Az alábbi példa két TimeSpan objektumot példányosít, aritmetikai műveletek végrehajtására használja őket, és megjeleníti az eredményt. Minden esetben összetett formázással jeleníti meg a TimeSpan értéket a "g" formátumkijelölő használatával. Emellett formázhatja a TimeSpan értéket a jelenlegi rendszerkultúra formázási konvencióinak használatával (amely ebben az esetben az angol - Egyesült Államok vagy en-US) és a francia - franciaországi (fr-FR) kultúrát használja.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);

      Console.WriteLine($"{interval1:g} - {interval2:g} = {interval1 - interval2:g}");
      Console.WriteLine(String.Format(new CultureInfo("fr-FR"),
                        "{0:g} + {1:g} = {2:g}", interval1,
                        interval2, interval1 + interval2));

      interval1 = new TimeSpan(0, 0, 1, 14, 36);
      interval2 = TimeSpan.FromTicks(2143756);
      Console.WriteLine($"{interval1:g} + {interval2:g} = {interval1 + interval2:g}");
   }
}
// The example displays the following output:
//       7:45:16 - 18:12:38 = -10:27:22
//       7:45:16 + 18:12:38 = 1:1:57:54
//       0:01:14.036 + 0:00:00.2143756 = 0:01:14.2503756
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim interval1, interval2 As TimeSpan
        interval1 = New TimeSpan(7, 45, 16)
        interval2 = New TimeSpan(18, 12, 38)

        Console.WriteLine("{0:g} - {1:g} = {2:g}", interval1,
                          interval2, interval1 - interval2)
        Console.WriteLine(String.Format(New CultureInfo("fr-FR"),
                          "{0:g} + {1:g} = {2:g}", interval1,
                          interval2, interval1 + interval2))

        interval1 = New TimeSpan(0, 0, 1, 14, 36)
        interval2 = TimeSpan.FromTicks(2143756)
        Console.WriteLine("{0:g} + {1:g} = {2:g}", interval1,
                          interval2, interval1 + interval2)
    End Sub
End Module
' The example displays the following output:
'       7:45:16 - 18:12:38 = -10:27:22
'       7:45:16 + 18:12:38 = 1:1:57:54
'       0:01:14.036 + 0:00:00.2143756 = 0:01:14.2503756

Az Általános hosszú ("G") formátumkijelölő

A "G" TimeSpan formátumkijelölő egy TimeSpan érték sztring-ábrázolását adja vissza hosszú formában, amely mindig tartalmazza a napokat és a tört másodperceket is. A "G" szabványformátum-meghatározóból származó sztring a következő űrlapot tartalmazza:

[-]d:hh:mm:ss.fffffff

A szögletes zárójelek ([ és ]) elemei nem kötelezőek. A kettőspont (:) egy literális szimbólum. Az alábbi táblázat a fennmaradó elemeket ismerteti.

Elem Leírás
- Nem kötelező negatív jel, amely negatív időintervallumot jelez.
d A napok száma, kezdő nullák nélkül.
Hh Az órák száma, amely "00" és "23" között mozog.
mm A percek száma, amely "00" és "59" között mozog.
ss A másodpercek száma, amely "00" és "59" között mozog.
. A tört másodperc elválasztó. Ez egyenértékű a megadott kultúra NumberDecimalSeparator tulajdonságával felhasználói felülbírálások nélkül.
fffffff A tört másodperc.

A "G" formátumkijelölőhez hasonlóan a "g" formátumkijelölő is honosított. A tört másodperces elválasztó az aktuális kultúrán vagy egy adott kultúra NumberDecimalSeparator tulajdonságán alapul.

Az alábbi példa két TimeSpan objektumot példányosít, aritmetikai műveletek végrehajtására használja őket, és megjeleníti az eredményt. Minden esetben összetett formázással jeleníti meg a TimeSpan értéket a "G" formátumkijelölő használatával. Emellett formázhatja a TimeSpan értéket a jelenlegi rendszerkultúra formázási konvencióinak használatával (amely ebben az esetben az angol - Egyesült Államok vagy en-US) és a francia - franciaországi (fr-FR) kultúrát használja.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);

      Console.WriteLine($"{interval1:G} - {interval2:G} = {interval1 - interval2:G}");
      Console.WriteLine(String.Format(new CultureInfo("fr-FR"),
                        "{0:G} + {1:G} = {2:G}", interval1,
                        interval2, interval1 + interval2));

      interval1 = new TimeSpan(0, 0, 1, 14, 36);
      interval2 = TimeSpan.FromTicks(2143756);
      Console.WriteLine($"{interval1:G} + {interval2:G} = {interval1 + interval2:G}");
   }
}
// The example displays the following output:
//       0:07:45:16.0000000 - 0:18:12:38.0000000 = -0:10:27:22.0000000
//       0:07:45:16,0000000 + 0:18:12:38,0000000 = 1:01:57:54,0000000
//       0:00:01:14.0360000 + 0:00:00:00.2143756 = 0:00:01:14.2503756
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim interval1, interval2 As TimeSpan
        interval1 = New TimeSpan(7, 45, 16)
        interval2 = New TimeSpan(18, 12, 38)

        Console.WriteLine("{0:G} - {1:G} = {2:G}", interval1,
                          interval2, interval1 - interval2)
        Console.WriteLine(String.Format(New CultureInfo("fr-FR"),
                          "{0:G} + {1:G} = {2:G}", interval1,
                          interval2, interval1 + interval2))

        interval1 = New TimeSpan(0, 0, 1, 14, 36)
        interval2 = TimeSpan.FromTicks(2143756)
        Console.WriteLine("{0:G} + {1:G} = {2:G}", interval1,
                          interval2, interval1 + interval2)
    End Sub
End Module
' The example displays the following output:
'       0:07:45:16.0000000 - 0:18:12:38.0000000 = -0:10:27:22.0000000
'       0:07:45:16,0000000 + 0:18:12:38,0000000 = 1:01:57:54,0000000
'       0:00:01:14.0360000 + 0:00:00:00.2143756 = 0:00:01:14.2503756

Lásd még