Standart TimeSpan biçim dizeleri

Standart TimeSpan biçim dizesi, biçimlendirme işleminden kaynaklanan bir TimeSpan değerin metin gösterimini tanımlamak için tek biçim tanımlayıcısı kullanır. Boşluk da dahil olmak üzere birden fazla karakter içeren tüm biçim dizeleri özel TimeSpan biçim dizesi olarak yorumlanır. Daha fazla bilgi için bkz . Özel TimeSpan biçim dizeleri.

Değerlerin dize gösterimleri, yönteminin TimeSpan aşırı yüklemelerine çağrılar TimeSpan.ToString ve gibi String.Formatbileşik biçimlendirmeyi destekleyen yöntemler tarafından oluşturulur. Daha fazla bilgi için bkz . Biçimlendirme Türleri ve Bileşik Biçimlendirme. Aşağıdaki örnekte, biçimlendirme işlemlerinde standart biçim dizelerinin kullanımı gösterilmektedir.

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: {0:c}", duration);
   }
}
// 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

Standart TimeSpan biçim dizeleri, ayrıştırma işlemleri için gerekli giriş dizelerinin biçimini tanımlamak için ve TimeSpan.TryParseExact yöntemleri tarafından TimeSpan.ParseExact da kullanılır. (Ayrıştırma, bir değerin dize gösterimini bu değere dönüştürür.) Aşağıdaki örnek, ayrıştırma işlemlerinde standart biçim dizelerinin kullanımını göstermektedir.

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 '{0}' to {1}", value, interval);
      }
      catch (FormatException) {
         Console.WriteLine("{0}: Bad Format", value);
      }
      catch (OverflowException) {
         Console.WriteLine("{0}: Out of Range", value);
      }

      if (TimeSpan.TryParseExact(value, "c", null, out interval))
         Console.WriteLine("Converted '{0}' to {1}", value, interval);
      else
         Console.WriteLine("Unable to convert {0} to a time interval.",
                           value);
   }
}
// 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

Aşağıdaki tabloda standart zaman aralığı biçim tanımlayıcıları listeledik.

Biçim belirteci Veri Akışı Adı Açıklama Örnekler
"c" Sabit (sabit) biçim Bu tanımlayıcı kültüre duyarlı değildir. şeklindedir [-][d'.']hh':'mm':'ss['.'fffffff].

("t" ve "T" biçim dizeleri aynı sonuçları üretir.)

Daha fazla bilgi: Sabit ("c") Biçim Tanımlayıcısı.
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" Genel kısa biçim Bu tanımlayıcı yalnızca gerekenleri oluşturur. Kültüre duyarlıdır ve biçimini [-][d':']h':'mm':'ss[.FFFFFFF]alır.

Daha fazla bilgi: Genel Kısa ("g") Biçim Tanımlayıcısı.
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" Genel uzun biçim Bu tanımlayıcı her zaman gün ve yedi kesirli basamak oluşturur. Kültüre duyarlıdır ve biçimini [-]d':'hh':'mm':'ss.fffffffalır.

Daha fazla bilgi: Genel Uzun ("G") Biçim Tanımlayıcısı.
New TimeSpan(18, 30, 0) -> 0:18:30:00.0000000 (tr-TR)

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

Sabit ("c") Biçim Tanımlayıcısı

"c" biçim tanımlayıcısı, bir TimeSpan değerin dize gösterimini aşağıdaki biçimde döndürür:

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

Köşeli ayraçlar ([ve]) içindeki öğeler isteğe bağlıdır. Nokta (.) ve iki nokta üst üste (:) değişmez değer simgeleridir. Aşağıdaki tabloda kalan öğeler açıklanmaktadır.

Öğe Açıklama
- Negatif bir zaman aralığını gösteren isteğe bağlı negatif işareti.
d Başta sıfır olmadan isteğe bağlı gün sayısı.
hh "00" ile "23" arasında değişen saat sayısı.
mm "00" ile "59" arasında değişen dakika sayısı.
ss "0" ile "59" arasında değişen saniye sayısı.
fffffff Saniyenin isteğe bağlı kesirli kısmı. Değeri "0000001" (bir değer işareti veya saniyenin on milyonda biri) ile "9999999" (9.999.999 saniyenin on milyonda biri veya bir saniye daha az bir değer) arasında değişebilir.

"g" ve "G" biçim tanımlayıcılarının aksine, "c" biçim tanımlayıcısı kültüre duyarlı değildir. Sabit olan ve .NET Framework 4 öncesi sürümlerde ortak olan bir TimeSpan değerin dize gösterimini üretir. "c" varsayılan TimeSpan biçim dizesidir; TimeSpan.ToString() yöntemi bir zaman aralığı değerini "c" biçim dizesini kullanarak biçimlendirir.

Not

TimeSpan ayrıca "c" standart biçim dizesiyle aynı olan "t" ve "T" standart biçim dizelerini de destekler.

Aşağıdaki örnek iki TimeSpan nesnenin örneğini oluşturur, aritmetik işlemleri gerçekleştirmek için bunları kullanır ve sonucu görüntüler. Her durumda, "c" biçim tanımlayıcısını TimeSpan kullanarak değeri görüntülemek için bileşik biçimlendirme kullanır.

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("{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);
   }
}
// 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

Genel Kısa ("g") Biçim Tanımlayıcısı

"g" TimeSpan biçim tanımlayıcısı, yalnızca gerekli öğeleri ekleyerek bir değerin sıkıştırılmış biçimdeki dize gösterimini TimeSpan döndürür. Aşağıdaki forma sahiptir:

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

Köşeli ayraçlar ([ve]) içindeki öğeler isteğe bağlıdır. İki nokta üst üste (:) değişmez bir simgedir. Aşağıdaki tabloda kalan öğeler açıklanmaktadır.

Öğe Açıklama
- Negatif bir zaman aralığını gösteren isteğe bağlı negatif işareti.
d Başta sıfır olmadan isteğe bağlı gün sayısı.
h Önünde sıfır olmadan "0" ile "23" arasında değişen saat sayısı.
mm "00" ile "59" arasında değişen dakika sayısı.
ss "00" ile "59" arasında değişen saniye sayısı.
. Kesirli saniye ayırıcısı. Kullanıcı geçersiz kılmaları olmadan belirtilen kültürün NumberDecimalSeparator özelliğine eşdeğerdir.
FFFFFFF Kesirli saniyeler. Mümkün olduğunca az basamak görüntülenir.

"G" biçim tanımlayıcısı gibi, "g" biçim tanımlayıcısı da yerelleştirilir. Kesirli saniye ayırıcısı geçerli kültürü veya belirtilen kültürün NumberDecimalSeparator özelliğini temel alır.

Aşağıdaki örnek iki TimeSpan nesnenin örneğini oluşturur, aritmetik işlemleri gerçekleştirmek için bunları kullanır ve sonucu görüntüler. Her durumda, "g" biçim tanımlayıcısını TimeSpan kullanarak değeri görüntülemek için bileşik biçimlendirme kullanır. Buna ek olarak, geçerli sistem kültürünün (bu örnekte İngilizce - Birleşik Devletler veya en-US) ve Fransızca - Fransa (fr-FR) kültürünün biçimlendirme kurallarını kullanarak değeri biçimlendirırTimeSpan.

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("{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);
   }
}
// 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

Genel Uzun ("G") Biçim Tanımlayıcısı

"G" TimeSpan biçim tanımlayıcısı, her zaman hem gün hem de kesirli saniyeler içeren uzun bir biçimdeki bir TimeSpan değerin dize gösterimini döndürür. "G" standart biçim tanımlayıcısından elde edilen dize aşağıdaki biçimdedir:

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

Köşeli ayraçlar ([ve]) içindeki öğeler isteğe bağlıdır. İki nokta üst üste (:) değişmez bir simgedir. Aşağıdaki tabloda kalan öğeler açıklanmaktadır.

Öğe Açıklama
- Negatif bir zaman aralığını gösteren isteğe bağlı negatif işareti.
d Önünde sıfır olmayan gün sayısı.
hh "00" ile "23" arasında değişen saat sayısı.
mm "00" ile "59" arasında değişen dakika sayısı.
ss "00" ile "59" arasında değişen saniye sayısı.
. Kesirli saniye ayırıcısı. Kullanıcı geçersiz kılmaları olmadan belirtilen kültürün NumberDecimalSeparator özelliğine eşdeğerdir.
fffffff Kesirli saniyeler.

"G" biçim tanımlayıcısı gibi, "g" biçim tanımlayıcısı da yerelleştirilir. Kesirli saniye ayırıcısı geçerli kültürü veya belirtilen kültürün NumberDecimalSeparator özelliğini temel alır.

Aşağıdaki örnek iki TimeSpan nesnenin örneğini oluşturur, aritmetik işlemleri gerçekleştirmek için bunları kullanır ve sonucu görüntüler. Her durumda, "G" biçim tanımlayıcısını TimeSpan kullanarak değeri görüntülemek için bileşik biçimlendirme kullanır. Buna ek olarak, geçerli sistem kültürünün (bu örnekte İngilizce - Birleşik Devletler veya en-US) ve Fransızca - Fransa (fr-FR) kültürünün biçimlendirme kurallarını kullanarak değeri biçimlendirırTimeSpan.

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("{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);
   }
}
// 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

Ayrıca bkz.