Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

Cadenas de formato TimeSpan personalizado

Una cadena de formato TimeSpan define la representación de cadena de un valor TimeSpan generado por una operación de formato. Una cadena de formato personalizado consta de uno o varios especificadores de formato TimeSpan personalizado, además de un número de caracteres literales. Cualquier cadena que no sea una cadena de formato TimeSpan estándar se interpreta como una cadena de formato TimeSpan personalizada.

Nota importante Importante

Los especificadores de formato TimeSpan personalizado no incluyen símbolos de separador de marcadores de posición, como los símbolos que separan los días de las horas, las horas de los minutos o los segundos de las fracciones de segundo. Estos símbolos deben incluirse en la cadena de formato personalizado como literales de cadena. Por ejemplo, "dd\.hh\:mm" define un punto (.) como separador entre los días y las horas, y un signo de dos puntos (:) como separador entre las horas y los minutos.

Los especificadores de formato TimeSpan personalizado tampoco incluyen un símbolo de signo que permita distinguir entre los intervalos de tiempo negativos y positivos. Para incluir un símbolo de signo, es necesario construir una cadena de formato utilizando lógica condicional. En la sección Otros caracteres se incluye un ejemplo.

Las representaciones de cadena de los valores TimeSpan se generan mediante llamadas a las sobrecargas del método TimeSpan.ToString, y también mediante métodos que admiten formatos compuestos, como String.Format. Para obtener más información, vea Aplicar formato a tipos y Formatos compuestos. En el siguiente ejemplo, se muestra el uso de cadenas de formato personalizado en operaciones de formato.


using System;

public class Example
{
   public static void Main()
   {
      TimeSpan duration = new TimeSpan(1, 12, 23, 62);

      string output = null;
      output = "Time of Travel: " + duration.ToString("%d") + " days";
      Console.WriteLine(output);
      output = "Time of Travel: " + duration.ToString(@"dd\.hh\:mm\:ss"); 
      Console.WriteLine(output);

      Console.WriteLine("Time of Travel: {0:%d} day(s)", duration);
      Console.WriteLine("Time of Travel: {0:dd\\.hh\\:mm\\:ss} days", duration);
   }
}
// The example displays the following output:
//       Time of Travel: 1 days
//       Time of Travel: 01.12:24:02
//       Time of Travel: 1 day(s)
//       Time of Travel: 01.12:24:02 days


Los métodos TimeSpan.ParseExact y TimeSpan.TryParseExact también usan cadenas de formato TimeSpan personalizadas para definir el formato que deben tener las cadenas de entrada de las operaciones de análisis. (Estas operaciones convierten la representación de cadena de un valor en ese valor.) En el siguiente ejemplo, se muestra el uso de cadenas de formato estándar en operaciones de análisis.


using System;

public class Example
{
   public static void Main()
   {
      string value = null;
      TimeSpan interval;

      value = "6";
      if (TimeSpan.TryParseExact(value, "%d", null, out interval))
         Console.WriteLine("{0} --> {1}", value, interval.ToString("c"));
      else
         Console.WriteLine("Unable to parse '{0}'", value);

      value = "16:32.05";
      if (TimeSpan.TryParseExact(value, @"mm\:ss\.ff", null, out interval))
         Console.WriteLine("{0} --> {1}", value, interval.ToString("c"));
      else
         Console.WriteLine("Unable to parse '{0}'", value);

      value= "12.035";
      if (TimeSpan.TryParseExact(value, "ss\\.fff", null, out interval))
         Console.WriteLine("{0} --> {1}", value, interval.ToString("c"));
      else
         Console.WriteLine("Unable to parse '{0}'", value);
   }
}
// The example displays the following output:
//       6 --> 6.00:00:00
//       16:32.05 --> 00:16:32.0500000
//       12.035 --> 00:00:12.0350000


En la siguiente tabla se describen los especificadores de formato de fecha y hora personalizado.

Especificador de formato

Descripción

Ejemplo

"d", "%d"

Número de días completos de un intervalo de tiempo.

Más información: El especificador de formato personalizado "d".

new TimeSpan(6, 14, 32, 17, 685):

   %d --> "6"

   d\.hh\:mm --> "6.14:32"

"dd"-"dddddddd"

Número de días completos de un intervalo de tiempo, que se completa con tantos ceros iniciales como sean necesarios.

Más información: Especificadores de formato personalizado "dd"-"dddddddd".

new TimeSpan(6, 14, 32, 17, 685):

   ddd --> "006"

   dd\.hh\:mm --> "06.14:32"

"h", "%h"

Número de horas completas de un intervalo de tiempo que no se cuentan como parte de los días. Las horas con un solo dígito no se escriben con un cero a la izquierda.

Más información: Especificador de formato personalizado "h".

new TimeSpan(6, 14, 32, 17, 685):

   %h --> "14"

   hh\:mm --> "14:32"

"hh"

Número de horas completas de un intervalo de tiempo que no se cuentan como parte de los días. Las horas con un solo dígito se escriben con un cero a la izquierda.

Más información: Especificador de formato personalizado "hh".

new TimeSpan(6, 14, 32, 17, 685):

    hh --> "14"

new TimeSpan(6, 8, 32, 17, 685):

    hh --> 08

"m", "%m"

Número de minutos completos de un intervalo de tiempo que no se incluyen como parte de las horas o los días. Los minutos con un solo dígito se escriben con un cero a la izquierda.

Más información: Especificador de formato personalizado "m".

new TimeSpan(6, 14, 8, 17, 685):

    %m --> "8"

    h\:m --> "14:8"

"mm"

Número de minutos completos de un intervalo de tiempo que no se incluyen como parte de las horas o los días. Los minutos con un solo dígito se escriben con un cero a la izquierda.

Más información: Especificador de formato personalizado "mm".

new TimeSpan(6, 14, 8, 17, 685):

    mm --> "08"

new TimeSpan(6, 8, 5, 17, 685):

    d\.hh\:mm\:ss --> 6.08:05:17

"s", "%s"

Número de segundos completos de un intervalo de tiempo que no se incluyen como parte de las horas, los días o los minutos. Los segundos con un solo dígito se escriben con un cero a la izquierda.

Más información: Especificador de formato personalizado "s".

TimeSpan.FromSeconds(12.965):

    %s --> 12

    s\.fff --> 12.965

"ss"

Número de segundos completos de un intervalo de tiempo que no se incluyen como parte de las horas, los días o los minutos. Los segundos con un solo dígito se escriben con un cero a la izquierda.

Más información: Especificador de formato personalizado "ss".

TimeSpan.FromSeconds(6.965):

    ss --> 06

    ss\.fff --> 06.965

"f", "%f"

Décimas de segundo de un intervalo de tiempo.

Más información: El especificador de formato personalizado "f".

TimeSpan.FromSeconds(6.895):

    f --> 8

    ss\.f --> 06.8

"ff"

Centésimas de segundo de un intervalo de tiempo.

Más información: Especificador de formato personalizado "ff".

TimeSpan.FromSeconds(6.895):

    ff --> 89

    ss\.ff --> 06.89

"fff"

Milisegundos de un intervalo de tiempo.

Más información: Especificador de formato personalizado "fff".

TimeSpan.FromSeconds(6.895):

    fff --> 895

    ss\.fff --> 06.895

"ffff"

Diezmilésimas de segundo de un intervalo de tiempo.

Más información: Especificador de formato personalizado "ffff".

TimeSpan.Parse("0:0:6.8954321"):

    ffff --> 8954

    ss\.ffff --> 06.8954

"fffff"

Cienmilésimas de segundo de un intervalo de tiempo.

Más información: Especificador de formato personalizado "fffff".

TimeSpan.Parse("0:0:6.8954321"):

    fffff --> 89543

    ss\.fffff --> 06.89543

"ffffff"

Millonésimas de segundo de un intervalo de tiempo.

Más información: Especificador de formato personalizado "ffffff".

TimeSpan.Parse("0:0:6.8954321"):

    ffffff --> 895432

    ss\.ffffff --> 06.895432

"fffffff"

Diezmillonésimas de segundo (o fracciones de paso) de un intervalo de tiempo.

Más información: Especificador de formato personalizado "fffffff".

TimeSpan.Parse("0:0:6.8954321"):

    fffffff --> 8954321

    ss\.fffffff --> 06.8954321

"F", "%F"

Décimas de segundo de un intervalo de tiempo. Si el dígito más significativo es cero, no se muestra nada.

Más información: El especificador de formato personalizado "F".

TimeSpan.Parse("00:00:06.32"):

    %F: 3

TimeSpan.Parse("0:0:3.091"):

    ss\.F: 03.

"FF"

Centésimas de segundo de un intervalo de tiempo. No se incluyen los ceros finales fraccionarios ni los dígitos de dos ceros.

Más información: El especificador de formato personalizado "FF".

TimeSpan.Parse("00:00:06.329"):

    FF: 32

TimeSpan.Parse("0:0:3.101"):

    ss\.FF: 03.1

"FFF"

Milisegundos de un intervalo de tiempo. No se incluyen los ceros finales fraccionarios.

Más información:

TimeSpan.Parse("00:00:06.3291"):

    FFF: 329

TimeSpan.Parse("0:0:3.1009"):

    ss\.FFF: 03.1

"FFFF"

Diezmilésimas de segundo de un intervalo de tiempo. No se incluyen los ceros finales fraccionarios.

Más información: El especificador de formato personalizado "FFFF".

TimeSpan.Parse("00:00:06.32917"):

    FFFFF: 3291

TimeSpan.Parse("0:0:3.10009"):

    ss\.FFFF: 03.1

"FFFFF"

Cienmilésimas de segundo de un intervalo de tiempo. No se incluyen los ceros finales fraccionarios.

Más información: Especificador de formato personalizado "FFFFF".

TimeSpan.Parse("00:00:06.329179"):

    FFFFF: 32917

TimeSpan.Parse("0:0:3.100009"):

    ss\.FFFFF: 03.1

"FFFFFF"

Millonésimas de segundo de un intervalo de tiempo. No se muestran los ceros finales fraccionarios.

Más información: Especificador de formato personalizado "FFFFFF".

TimeSpan.Parse("00:00:06.3291791"):

    FFFFFF: 329179

TimeSpan.Parse("0:0:3.1000009"):

    ss\.FFFFFF: 03.1

"FFFFFFF"

Diezmillonésimas de segundo de un intervalo de tiempo. No se muestran los ceros finales fraccionarios ni los dígitos de siete ceros.

Más información: Especificador de formato personalizado "FFFFFFF".

TimeSpan.Parse("00:00:06.3291791"):

    FFFFFF: 3291791

TimeSpan.Parse("0:0:3.1900000"):

    ss\.FFFFFF: 03.19

'string'

Delimitador de cadena literal.

Más información: Otros caracteres.

new TimeSpan(14, 32, 17):

   hh':'mm':'ss --> "14:32:17"

\

El carácter de escape.

Más información: Otros caracteres.

new TimeSpan(14, 32, 17):

   hh\:mm\:ss --> "14:32:17"

Cualquier otro carácter

Cualquier otro carácter sin escape se interpreta como especificador de formato personalizado.

Más información: Otros caracteres.

new TimeSpan(14, 32, 17):

   hh\:mm\:ss --> "14:32:17"

El especificador de formato personalizado "d" presenta el valor de la propiedad TimeSpan.Days, que representa el número de días completos de un intervalo de tiempo. Presenta el número completo de días de un valor TimeSpan, incluso si el valor tiene más de un dígito. Si el valor de la propiedad TimeSpan.Days es cero, el especificador presentará "0".

Si el especificador de formato personalizado "d" se utiliza solo, especifique "%d" de modo que no se interprete erróneamente como una cadena de formato estándar. Esto se muestra en el ejemplo siguiente.


TimeSpan ts1 = new TimeSpan(16, 4, 3, 17, 250);
Console.WriteLine(ts1.ToString("%d"));
// Displays 16   


En el siguiente ejemplo, se muestra el uso del especificador de formato personalizado "d".


TimeSpan ts2 = new TimeSpan(4, 3, 17);
Console.WriteLine(ts2.ToString(@"d\.hh\:mm\:ss"));

TimeSpan ts3 = new TimeSpan(3, 4, 3, 17);
Console.WriteLine(ts3.ToString(@"d\.hh\:mm\:ss"));
// The example displays the following output:
//       0.04:03:17
//       3.04:03:17      


Volver a la tabla

Los especificadores de formato personalizado "dd", "ddd", "dddd", "ddddd", "dddddd", "ddddddd" y "dddddddd" presentan el valor de la propiedad TimeSpan.Days, que representa el número de días completos de un intervalo de tiempo.

La cadena de salida incluye un número mínimo de dígitos que viene determinado por el número de caracteres "d" en el especificador de formato y se completa con tantos ceros iniciales como sean necesarios. Si los dígitos del número de días superan el número de caracteres "d" en el especificador de formato, la cadena de resultado mostrará el número completo de días.

En el siguiente ejemplo, se utilizan estos especificadores de formato para mostrar la representación de cadena de dos valores TimeSpan. El valor del componente de días en el primer intervalo de tiempo es cero; el valor del componente de días en el segundo es 365.


TimeSpan ts1 = new TimeSpan(0, 23, 17, 47);
TimeSpan ts2 = new TimeSpan(365, 21, 19, 45);

for (int ctr = 2; ctr <= 8; ctr++)
{
   string fmt = new String('d', ctr) + @"\.hh\:mm\:ss";
   Console.WriteLine("{0} --> {1:" + fmt + "}", fmt, ts1);  
   Console.WriteLine("{0} --> {1:" + fmt + "}", fmt, ts2);
   Console.WriteLine();
}  
// The example displays the following output:
//       dd\.hh\:mm\:ss --> 00.23:17:47
//       dd\.hh\:mm\:ss --> 365.21:19:45
//       
//       ddd\.hh\:mm\:ss --> 000.23:17:47
//       ddd\.hh\:mm\:ss --> 365.21:19:45
//       
//       dddd\.hh\:mm\:ss --> 0000.23:17:47
//       dddd\.hh\:mm\:ss --> 0365.21:19:45
//       
//       ddddd\.hh\:mm\:ss --> 00000.23:17:47
//       ddddd\.hh\:mm\:ss --> 00365.21:19:45
//       
//       dddddd\.hh\:mm\:ss --> 000000.23:17:47
//       dddddd\.hh\:mm\:ss --> 000365.21:19:45
//       
//       ddddddd\.hh\:mm\:ss --> 0000000.23:17:47
//       ddddddd\.hh\:mm\:ss --> 0000365.21:19:45
//       
//       dddddddd\.hh\:mm\:ss --> 00000000.23:17:47
//       dddddddd\.hh\:mm\:ss --> 00000365.21:19:45      


Volver a la tabla

El especificador de formato personalizado "h" presenta el valor de la propiedad TimeSpan.Hours, que representa el número de horas completas de un intervalo de tiempo que no se cuentan como parte del componente de días. Devuelve un valor de cadena de un dígito si el valor de la propiedad TimeSpan.Hours es de 0 a 9; devuelve un valor de cadena de dos dígitos si el valor de la propiedad TimeSpan.Hours es de 10 a 23.

Si el especificador de formato personalizado "f" se utiliza solo, especifique "%h" de modo que no se interprete erróneamente como una cadena de formato estándar. Esto se muestra en el ejemplo siguiente.


TimeSpan ts = new TimeSpan(3, 42, 0);
Console.WriteLine("{0:%h} hours {0:%m} minutes", ts);
// The example displays the following output:
//       3 hours 42 minutes


Normalmente, en las operaciones de análisis, una cadena de entrada que incluye solamente un número se interpreta como número de días. Se puede utilizar el especificador de formato personalizado "%h"" para que la cadena numérica se interprete como número de horas. Esto se muestra en el ejemplo siguiente.


string value = "8";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "%h", null, out interval))
   Console.WriteLine(interval.ToString("c"));
else
   Console.WriteLine("Unable to convert '{0}' to a time interval", 
                     value);   
// The example displays the following output:
//       08:00:00                              


En el siguiente ejemplo, se muestra el uso del especificador de formato personalizado "h".


TimeSpan ts1 = new TimeSpan(14, 3, 17);
Console.WriteLine(ts1.ToString(@"d\.h\:mm\:ss"));

TimeSpan ts2 = new TimeSpan(3, 4, 3, 17);
Console.WriteLine(ts2.ToString(@"d\.h\:mm\:ss"));
// The example displays the following output:
//       0.14:03:17
//       3.4:03:17


Volver a la tabla

El especificador de formato personalizado "hh" presenta el valor de la propiedad TimeSpan.Hours, que representa el número de horas completas de un intervalo de tiempo que no se cuentan como parte del componente de días. Para los valores de 0 a 9, la cadena de salida incluye un cero inicial.

Normalmente, en las operaciones de análisis, una cadena de entrada que incluye solamente un número se interpreta como número de días. Se puede utilizar el especificador de formato personalizado "hh"" para que la cadena numérica se interprete como número de horas. Esto se muestra en el ejemplo siguiente.


string value = "08";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "hh", null, out interval))
   Console.WriteLine(interval.ToString("c"));
else
   Console.WriteLine("Unable to convert '{0}' to a time interval", 
                     value);   
// The example displays the following output:
//       08:00:00                              


En el siguiente ejemplo, se muestra el uso del especificador de formato personalizado "hh".


TimeSpan ts1 = new TimeSpan(14, 3, 17);
Console.WriteLine(ts1.ToString(@"d\.hh\:mm\:ss"));

TimeSpan ts2 = new TimeSpan(3, 4, 3, 17);
Console.WriteLine(ts2.ToString(@"d\.hh\:mm\:ss"));
// The example displays the following output:
//       0.14:03:17
//       3.04:03:17


Volver a la tabla

El especificador de formato personalizado "m" presenta el valor de la propiedad TimeSpan.Minutes, que representa el número de minutos completos de un intervalo de tiempo que no se cuentan como parte del componente de días. Devuelve un valor de cadena de un dígito si el valor de la propiedad TimeSpan.Minutes es de 0 a 9; devuelve un valor de cadena de dos dígitos si el valor de la propiedad TimeSpan.Minutes es de 10 a 59.

Si el especificador de formato personalizado "m" se utiliza solo, especifique "%m" de modo que no se interprete erróneamente como una cadena de formato estándar. Esto se muestra en el ejemplo siguiente.


TimeSpan ts = new TimeSpan(3, 42, 0);
Console.WriteLine("{0:%h} hours {0:%m} minutes", ts);
// The example displays the following output:
//       3 hours 42 minutes


Normalmente, en las operaciones de análisis, una cadena de entrada que incluye solamente un número se interpreta como número de días. Se puede utilizar el especificador de formato personalizado "%m"" para que la cadena numérica se interprete como número de minutos. Esto se muestra en el ejemplo siguiente.


string value = "3";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "%m", null, out interval))
   Console.WriteLine(interval.ToString("c"));
else
   Console.WriteLine("Unable to convert '{0}' to a time interval", 
                     value);   
// The example displays the following output:
//       00:03:00                              


En el siguiente ejemplo, se muestra el uso del especificador de formato personalizado "m".


TimeSpan ts1 = new TimeSpan(0, 6, 32);
Console.WriteLine("{0:m\\:ss} minutes", ts1);

TimeSpan ts2 = new TimeSpan(3, 4, 3, 17);
Console.WriteLine("Elapsed time: {0:m\\:ss}", ts2);
// The example displays the following output:
//       6:32 minutes
//       Elapsed time: 18:44


Volver a la tabla

El especificador de formato personalizado "mm" presenta el valor de la propiedad TimeSpan.Minutes, que representa el número de minutos completos de un intervalo de tiempo que no se cuentan como parte del componente de horas o días. Para los valores de 0 a 9, la cadena de salida incluye un cero inicial.

Normalmente, en las operaciones de análisis, una cadena de entrada que incluye solamente un número se interpreta como número de días. Se puede utilizar el especificador de formato personalizado "mm"" para que la cadena numérica se interprete como número de minutos. Esto se muestra en el ejemplo siguiente.


string value = "07";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "mm", null, out interval))
   Console.WriteLine(interval.ToString("c"));
else
   Console.WriteLine("Unable to convert '{0}' to a time interval", 
                     value);   
// The example displays the following output:
//       00:07:00                              


En el siguiente ejemplo, se muestra el uso del especificador de formato personalizado "mm".


TimeSpan departTime = new TimeSpan(11, 12, 00);
TimeSpan arriveTime = new TimeSpan(16, 28, 00);
Console.WriteLine("Travel time: {0:hh\\:mm}", 
                  arriveTime - departTime);
// The example displays the following output:
//       Travel time: 05:16      


Volver a la tabla

El especificador de formato personalizado "s" presenta el valor de la propiedad TimeSpan.Seconds, que representa el número de segundos completos de un intervalo de tiempo que no se cuentan como parte del componente de horas, días o minutos. Devuelve un valor de cadena de un dígito si el valor de la propiedad TimeSpan.Seconds es de 0 a 9; devuelve un valor de cadena de dos dígitos si el valor de la propiedad TimeSpan.Seconds es de 10 a 59.

Si el especificador de formato personalizado "s" se utiliza solo, especifique "%s" de modo que no se interprete erróneamente como una cadena de formato estándar. Esto se muestra en el ejemplo siguiente.


TimeSpan ts = TimeSpan.FromSeconds(12.465);
Console.WriteLine(ts.ToString("%s"));
// The example displays the following output:
//       12


Normalmente, en las operaciones de análisis, una cadena de entrada que incluye solamente un número se interpreta como número de días. Se puede utilizar el especificador de formato personalizado "%s"" para que la cadena numérica se interprete como número de segundos. Esto se muestra en el ejemplo siguiente.


string value = "9";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "%s", null, out interval))
   Console.WriteLine(interval.ToString("c"));
else
   Console.WriteLine("Unable to convert '{0}' to a time interval", 
                     value);   
// The example displays the following output:
//       00:00:09


En el siguiente ejemplo, se muestra el uso del especificador de formato personalizado "s".


TimeSpan startTime = new TimeSpan(0, 12, 30, 15, 0);
TimeSpan endTime = new TimeSpan(0, 12, 30, 21, 3);
Console.WriteLine(@"Elapsed Time: {0:s\:fff} seconds", 
                  endTime - startTime);
// The example displays the following output:
//       Elapsed Time: 6:003 seconds      


Volver a la tabla

El especificador de formato personalizado "ss" presenta el valor de la propiedad TimeSpan.Seconds, que representa el número de segundos completos de un intervalo de tiempo que no se cuentan como parte del componente de horas, días o minutos. Para los valores de 0 a 9, la cadena de salida incluye un cero inicial.

Normalmente, en las operaciones de análisis, una cadena de entrada que incluye solamente un número se interpreta como número de días. Se puede utilizar el especificador de formato personalizado "ss"" para que la cadena numérica se interprete como número de segundos. Esto se muestra en el ejemplo siguiente.


string[] values = { "49", "9", "06" };
TimeSpan interval;
foreach (string value in values)
{
   if (TimeSpan.TryParseExact(value, "ss", null, out interval))
      Console.WriteLine(interval.ToString("c"));
   else
      Console.WriteLine("Unable to convert '{0}' to a time interval", 
                        value);   
}
// The example displays the following output:
//       00:00:49
//       Unable to convert '9' to a time interval
//       00:00:06


En el siguiente ejemplo, se muestra el uso del especificador de formato personalizado "ss".


TimeSpan interval1 = TimeSpan.FromSeconds(12.60);
Console.WriteLine(interval1.ToString(@"ss\.fff"));

TimeSpan interval2 = TimeSpan.FromSeconds(6.485);
Console.WriteLine(interval2.ToString(@"ss\.fff"));
// The example displays the following output:
//       12.600
//       06.485


Volver a la tabla

El especificador de formato personalizado "f" presenta las décimas de segundo de un intervalo de tiempo. En una operación de formato, se truncan los dígitos fraccionarios restantes. En una operación de análisis que llama al método TimeSpan.ParseExact o TimeSpan.TryParseExact, la cadena de entrada debe contener exactamente un dígito fraccionario.

Si el especificador de formato personalizado "f" se utiliza solo, especifique "%f" de modo que no se interprete erróneamente como una cadena de formato estándar.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "f" para mostrar las décimas de segundo de un valor TimeSpan. "f" se utiliza primero solo y, a continuación, junto con el especificador "s" en una cadena de formato personalizado.


TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   if (fmt.Length == 1) fmt = "%" + fmt;
   Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts);
} 
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// The example displays the following output:
//               %f: 8
//               ff: 87
//              fff: 876
//             ffff: 8765
//            fffff: 87654
//           ffffff: 876543
//          fffffff: 8765432
//       
//              s\.f: 29.8
//             s\.ff: 29.87
//            s\.fff: 29.876
//           s\.ffff: 29.8765
//          s\.fffff: 29.87654
//         s\.ffffff: 29.876543
//        s\.fffffff: 29.8765432      


Volver a la tabla

El especificador de formato personalizado "ff" presenta las centésimas de segundo de un intervalo de tiempo. En una operación de formato, se truncan los dígitos fraccionarios restantes. En una operación de análisis que llama al método TimeSpan.ParseExact o TimeSpan.TryParseExact, la cadena de entrada debe contener exactamente dos dígitos fraccionarios.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "ff" para mostrar las centésimas de segundo de un valor TimeSpan. "ff" se utiliza primero solo y, a continuación, junto con el especificador "s" en una cadena de formato personalizado.


TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   if (fmt.Length == 1) fmt = "%" + fmt;
   Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts);
} 
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// The example displays the following output:
//               %f: 8
//               ff: 87
//              fff: 876
//             ffff: 8765
//            fffff: 87654
//           ffffff: 876543
//          fffffff: 8765432
//       
//              s\.f: 29.8
//             s\.ff: 29.87
//            s\.fff: 29.876
//           s\.ffff: 29.8765
//          s\.fffff: 29.87654
//         s\.ffffff: 29.876543
//        s\.fffffff: 29.8765432      


Volver a la tabla

El especificador de formato personalizado "fff" (tres caracteres "f") presenta las milésimas de segundo de un intervalo de tiempo. En una operación de formato, se truncan los dígitos fraccionarios restantes. En una operación de análisis que llama al método TimeSpan.ParseExact o TimeSpan.TryParseExact, la cadena de entrada debe contener exactamente tres dígitos fraccionarios.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "fff" para mostrar los milisegundos de un valor TimeSpan. "fff" se utiliza primero solo y, a continuación, junto con el especificador "s" en una cadena de formato personalizado.


TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   if (fmt.Length == 1) fmt = "%" + fmt;
   Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts);
} 
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// The example displays the following output:
//               %f: 8
//               ff: 87
//              fff: 876
//             ffff: 8765
//            fffff: 87654
//           ffffff: 876543
//          fffffff: 8765432
//       
//              s\.f: 29.8
//             s\.ff: 29.87
//            s\.fff: 29.876
//           s\.ffff: 29.8765
//          s\.fffff: 29.87654
//         s\.ffffff: 29.876543
//        s\.fffffff: 29.8765432      


Volver a la tabla

El especificador de formato personalizado "ffff" (cuatro caracteres "f") presenta las diezmilésimas de segundo de un intervalo de tiempo. En una operación de formato, se truncan los dígitos fraccionarios restantes. En una operación de análisis que llama al método TimeSpan.ParseExact o TimeSpan.TryParseExact, la cadena de entrada debe contener exactamente cuatro dígitos fraccionarios.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "ffff" para mostrar las diezmilésimas de segundo de un valor TimeSpan. "ffff" se utiliza primero solo y, a continuación, junto con el especificador "s" en una cadena de formato personalizado.


TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   if (fmt.Length == 1) fmt = "%" + fmt;
   Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts);
} 
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// The example displays the following output:
//               %f: 8
//               ff: 87
//              fff: 876
//             ffff: 8765
//            fffff: 87654
//           ffffff: 876543
//          fffffff: 8765432
//       
//              s\.f: 29.8
//             s\.ff: 29.87
//            s\.fff: 29.876
//           s\.ffff: 29.8765
//          s\.fffff: 29.87654
//         s\.ffffff: 29.876543
//        s\.fffffff: 29.8765432      


Volver a la tabla

El especificador de formato personalizado "fffff" (cinco caracteres "f") presenta las cienmilésimas de segundo de un intervalo de tiempo. En una operación de formato, se truncan los dígitos fraccionarios restantes. En una operación de análisis que llama al método TimeSpan.ParseExact o TimeSpan.TryParseExact, la cadena de entrada debe contener exactamente cinco dígitos fraccionarios.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "fffff" para mostrar las cienmilésimas de segundo de un valor TimeSpan. "fffff" se utiliza primero solo y, a continuación, junto con el especificador "s" en una cadena de formato personalizado.


TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   if (fmt.Length == 1) fmt = "%" + fmt;
   Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts);
} 
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// The example displays the following output:
//               %f: 8
//               ff: 87
//              fff: 876
//             ffff: 8765
//            fffff: 87654
//           ffffff: 876543
//          fffffff: 8765432
//       
//              s\.f: 29.8
//             s\.ff: 29.87
//            s\.fff: 29.876
//           s\.ffff: 29.8765
//          s\.fffff: 29.87654
//         s\.ffffff: 29.876543
//        s\.fffffff: 29.8765432      


Volver a la tabla

El especificador de formato personalizado "ffffff" (seis caracteres "f") presenta las millonésimas de segundo de un intervalo de tiempo. En una operación de formato, se truncan los dígitos fraccionarios restantes. En una operación de análisis que llama al método TimeSpan.ParseExact o TimeSpan.TryParseExact, la cadena de entrada debe contener exactamente seis dígitos fraccionarios.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "ffffff" para mostrar las millonésimas de segundo de un valor TimeSpan. Este especificador de formato se utiliza primero solo y, a continuación, junto con el especificador "s" en una cadena de formato personalizado.


TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   if (fmt.Length == 1) fmt = "%" + fmt;
   Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts);
} 
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// The example displays the following output:
//               %f: 8
//               ff: 87
//              fff: 876
//             ffff: 8765
//            fffff: 87654
//           ffffff: 876543
//          fffffff: 8765432
//       
//              s\.f: 29.8
//             s\.ff: 29.87
//            s\.fff: 29.876
//           s\.ffff: 29.8765
//          s\.fffff: 29.87654
//         s\.ffffff: 29.876543
//        s\.fffffff: 29.8765432      


Volver a la tabla

El especificador de formato personalizado "fffffff" (siete caracteres "f") presenta las diezmillonésimas de segundo (o fracciones de paso) de un intervalo de tiempo. En una operación de análisis que llama al método TimeSpan.ParseExact o TimeSpan.TryParseExact, la cadena de entrada debe contener exactamente siete dígitos fraccionarios.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "fffffff" para mostrar las fracciones de paso de un valor TimeSpan. Este especificador de formato se utiliza primero solo y, a continuación, junto con el especificador "s" en una cadena de formato personalizado.


TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   if (fmt.Length == 1) fmt = "%" + fmt;
   Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts);
} 
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// The example displays the following output:
//               %f: 8
//               ff: 87
//              fff: 876
//             ffff: 8765
//            fffff: 87654
//           ffffff: 876543
//          fffffff: 8765432
//       
//              s\.f: 29.8
//             s\.ff: 29.87
//            s\.fff: 29.876
//           s\.ffff: 29.8765
//          s\.fffff: 29.87654
//         s\.ffffff: 29.876543
//        s\.fffffff: 29.8765432      


Volver a la tabla

El especificador de formato personalizado "F" presenta las décimas de segundo de un intervalo de tiempo. En una operación de formato, se truncan los dígitos fraccionarios restantes. Si el valor de las décimas de segundo de un intervalo de tiempo es cero, no se incluirá en la cadena de resultado. En una operación de análisis que llama al método TimeSpan.ParseExact o TimeSpan.TryParseExact, la presencia de las décimas de segundo es opcional.

Si el especificador de formato personalizado "F" se utiliza solo, especifique "%F" de modo que no se interprete erróneamente como una cadena de formato estándar.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "F" para mostrar las décimas de segundo de un valor TimeSpan. También se utiliza este especificador de formato personalizado en una operación de análisis.


Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.669");
Console.WriteLine("{0} ('%F') --> {0:%F}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.091");
Console.WriteLine("{0} ('ss\\.F') --> {0:ss\\.F}", ts2);
Console.WriteLine();

Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.1", "0:0:03.12" };
string fmt = @"h\:m\:ss\.F";
TimeSpan ts3;

foreach (string input in inputs) {
   if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
      Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.", 
                        input, fmt);
}                        
// The example displays the following output:
//       Formatting:
//       00:00:03.6690000 ('%F') --> 6
//       00:00:03.0910000 ('ss\.F') --> 03.
//       
//       Parsing:
//       0:0:03. ('h\:m\:ss\.F') --> 00:00:03
//       0:0:03.1 ('h\:m\:ss\.F') --> 00:00:03.1000000
//       Cannot parse 0:0:03.12 with 'h\:m\:ss\.F'.      


Volver a la tabla

El especificador de formato personalizado "FF" presenta las centésimas de segundo de un intervalo de tiempo. En una operación de formato, se truncan los dígitos fraccionarios restantes. Si hay ceros fraccionarios finales, estos no se incluyen en la cadena de resultado. En una operación de análisis que llama al método TimeSpan.ParseExact o TimeSpan.TryParseExact, la presencia de las décimas y centésimas de segundo es opcional.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "FF" para mostrar las centésimas de segundo de un valor TimeSpan. También se utiliza este especificador de formato personalizado en una operación de análisis.


Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.697");
Console.WriteLine("{0} ('FF') --> {0:FF}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.809");
Console.WriteLine("{0} ('ss\\.FF') --> {0:ss\\.FF}", ts2);
Console.WriteLine();

Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.1", "0:0:03.127" };
string fmt = @"h\:m\:ss\.FF";
TimeSpan ts3;

foreach (string input in inputs) {
   if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
      Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.", 
                        input, fmt);
}
// The example displays the following output:
//       Formatting:
//       00:00:03.6970000 ('FF') --> 69
//       00:00:03.8090000 ('ss\.FF') --> 03.8
//       
//       Parsing:
//       0:0:03. ('h\:m\:ss\.FF') --> 00:00:03
//       0:0:03.1 ('h\:m\:ss\.FF') --> 00:00:03.1000000
//       Cannot parse 0:0:03.127 with 'h\:m\:ss\.FF'.      


Volver a la tabla

El especificador de formato personalizado "FFF" (tres caracteres "F") presenta las milésimas de segundo de un intervalo de tiempo. En una operación de formato, se truncan los dígitos fraccionarios restantes. Si hay ceros fraccionarios finales, estos no se incluyen en la cadena de resultado. En una operación de análisis que llama al método TimeSpan.ParseExact o TimeSpan.TryParseExact, la presencia de las décimas, centésimas y milésimas de segundo es opcional.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "FFF" para mostrar las milésimas de segundo de un valor TimeSpan. También se utiliza este especificador de formato personalizado en una operación de análisis.


Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.6974");
Console.WriteLine("{0} ('FFF') --> {0:FFF}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.8009");
Console.WriteLine("{0} ('ss\\.FFF') --> {0:ss\\.FFF}", ts2);
Console.WriteLine();

Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.12", "0:0:03.1279" };
string fmt = @"h\:m\:ss\.FFF";
TimeSpan ts3;

foreach (string input in inputs) {
   if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
      Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.", 
                        input, fmt);
}
// The example displays the following output:
//       Formatting:
//       00:00:03.6974000 ('FFF') --> 697
//       00:00:03.8009000 ('ss\.FFF') --> 03.8
//       
//       Parsing:
//       0:0:03. ('h\:m\:ss\.FFF') --> 00:00:03
//       0:0:03.12 ('h\:m\:ss\.FFF') --> 00:00:03.1200000
//       Cannot parse 0:0:03.1279 with 'h\:m\:ss\.FFF'.      


Volver a la tabla

El especificador de formato personalizado "FFFF" (cuatro caracteres "F") presenta las diezmilésimas de segundo de un intervalo de tiempo. En una operación de formato, se truncan los dígitos fraccionarios restantes. Si hay ceros fraccionarios finales, estos no se incluyen en la cadena de resultado. En una operación de análisis que llama al método TimeSpan.ParseExact o TimeSpan.TryParseExact, la presencia de las décimas, centésimas, milésimas y diezmilésimas de segundo es opcional.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "FFFF" para mostrar las diezmilésimas de segundo de un valor TimeSpan. También se utiliza este especificador de formato personalizado en una operación de análisis.


Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.69749");
Console.WriteLine("{0} ('FFFF') --> {0:FFFF}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.80009");
Console.WriteLine("{0} ('ss\\.FFFF') --> {0:ss\\.FFFF}", ts2);
Console.WriteLine();

Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.12", "0:0:03.12795" };
string fmt = @"h\:m\:ss\.FFFF";
TimeSpan ts3;

foreach (string input in inputs) {
   if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
      Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.", 
                        input, fmt);
}
// The example displays the following output:
//       Formatting:
//       00:00:03.6974900 ('FFFF') --> 6974
//       00:00:03.8000900 ('ss\.FFFF') --> 03.8
//       
//       Parsing:
//       0:0:03. ('h\:m\:ss\.FFFF') --> 00:00:03
//       0:0:03.12 ('h\:m\:ss\.FFFF') --> 00:00:03.1200000
//       Cannot parse 0:0:03.12795 with 'h\:m\:ss\.FFFF'.


Volver a la tabla

El especificador de formato personalizado "FFFFF" (cinco caracteres "F") presenta las cienmilésimas de segundo de un intervalo de tiempo. En una operación de formato, se truncan los dígitos fraccionarios restantes. Si hay ceros fraccionarios finales, estos no se incluyen en la cadena de resultado. En una operación de análisis que llama al método TimeSpan.ParseExact o TimeSpan.TryParseExact, la presencia de las décimas, centésimas, milésimas, diezmilésimas y cienmilésimas de segundo es opcional.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "FFFFF" para mostrar las cienmilésimas de segundo de un valor TimeSpan. También se utiliza este especificador de formato personalizado en una operación de análisis.


Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.697497");
Console.WriteLine("{0} ('FFFFF') --> {0:FFFFF}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.800009");
Console.WriteLine("{0} ('ss\\.FFFFF') --> {0:ss\\.FFFFF}", ts2);
Console.WriteLine();

Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.12", "0:0:03.127956" };
string fmt = @"h\:m\:ss\.FFFFF";
TimeSpan ts3;

foreach (string input in inputs) {
   if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
      Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.", 
                        input, fmt);
}                       
// The example displays the following output:
//       Formatting:
//       00:00:03.6974970 ('FFFFF') --> 69749
//       00:00:03.8000090 ('ss\.FFFFF') --> 03.8
//       
//       Parsing:
//       0:0:03. ('h\:m\:ss\.FFFF') --> 00:00:03
//       0:0:03.12 ('h\:m\:ss\.FFFF') --> 00:00:03.1200000
//       Cannot parse 0:0:03.127956 with 'h\:m\:ss\.FFFF'.      


Volver a la tabla

El especificador de formato personalizado "FFFFFF" (seis caracteres "F") presenta las millonésimas de segundo de un intervalo de tiempo. En una operación de formato, se truncan los dígitos fraccionarios restantes. Si hay ceros fraccionarios finales, estos no se incluyen en la cadena de resultado. En una operación de análisis que llama al método TimeSpan.ParseExact o TimeSpan.TryParseExact, la presencia de las décimas, centésimas, milésimas, diezmilésimas, cienmilésimas y millonésimas de segundo es opcional.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "FFFFFF" para mostrar las millonésimas de segundo de un valor TimeSpan. También se utiliza este especificador de formato personalizado en una operación de análisis.


Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.6974974");
Console.WriteLine("{0} ('FFFFFF') --> {0:FFFFFF}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.8000009");
Console.WriteLine("{0} ('ss\\.FFFFFF') --> {0:ss\\.FFFFFF}", ts2);
Console.WriteLine();

Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.12", "0:0:03.1279569" };
string fmt = @"h\:m\:ss\.FFFFFF";
TimeSpan ts3;

foreach (string input in inputs) {
   if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
      Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.", 
                        input, fmt);
}                       
// The example displays the following output:
//       Formatting:
//       00:00:03.6974974 ('FFFFFF') --> 697497
//       00:00:03.8000009 ('ss\.FFFFFF') --> 03.8
//       
//       Parsing:
//       0:0:03. ('h\:m\:ss\.FFFFFF') --> 00:00:03
//       0:0:03.12 ('h\:m\:ss\.FFFFFF') --> 00:00:03.1200000
//       Cannot parse 0:0:03.1279569 with 'h\:m\:ss\.FFFFFF'.      


Volver a la tabla

El especificador de formato personalizado "FFFFFFF" (siete caracteres "F") presenta las diezmillonésimas de segundo (o fracciones de paso) de un intervalo de tiempo. Si hay ceros fraccionarios finales, estos no se incluyen en la cadena de resultado. En una operación de análisis que llama al método TimeSpan.ParseExact or TimeSpan.TryParseExact, la presencia de los siete dígitos fraccionarios en la cadena de entrada es opcional.

En el siguiente ejemplo, se utiliza el especificador de formato personalizado "FFFFFFF" para mostrar las fracciones de segundo de un valor TimeSpan. También se utiliza este especificador de formato personalizado en una operación de análisis.


Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.6974974");
Console.WriteLine("{0} ('FFFFFFF') --> {0:FFFFFFF}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.9500000");
Console.WriteLine("{0} ('ss\\.FFFFFFF') --> {0:ss\\.FFFFFFF}", ts2);
Console.WriteLine();

Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.12", "0:0:03.1279569" };
string fmt = @"h\:m\:ss\.FFFFFFF";
TimeSpan ts3;

foreach (string input in inputs) {
   if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
      Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.", 
                        input, fmt);
}
// The example displays the following output:
//    Formatting:
//    00:00:03.6974974 ('FFFFFFF') --> 6974974
//    00:00:03.9500000 ('ss\.FFFFFFF') --> 03.95
//    
//    Parsing:
//    0:0:03. ('h\:m\:ss\.FFFFFFF') --> 00:00:03
//    0:0:03.12 ('h\:m\:ss\.FFFFFFF') --> 00:00:03.1200000
//    0:0:03.1279569 ('h\:m\:ss\.FFFFFFF') --> 00:00:03.1279569      


Volver a la tabla

Cualquier otro carácter sin escape de una cadena de formato, incluido el carácter de espacio en blanco, se interpreta como especificador de formato personalizado. En la mayoría de los casos, la presencia de cualquier otro carácter sin escape da lugar a una excepción FormatException.

Para incluir un carácter literal en una cadena de formato, se puede proceder de dos formas:

  • Se puede escribirlo entre comillas sencillas (delimitador de cadena literal).

  • Se puede anteponer una barra diagonal inversa ("\"), la cual se interpreta como un carácter de escape. En C#, esto significa que la cadena de formato debe escribirse entre comillas e ir precedida del símbolo @ o que el carácter literal debe ir precedido de una barra diagonal inversa adicional.

    En algunos casos, puede que sea necesario usar lógica condicional para incluir un carácter literal de escape en una cadena de formato. En el ejemplo siguiente se usa lógica condicional para incluir un símbolo de signo para los intervalos de tiempo negativos.

    
    using System;
    
    public class Example
    {
       public static void Main()
       {
          TimeSpan result = new DateTime(2010, 01, 01) - DateTime.Now; 
          String fmt = (result < TimeSpan.Zero ?  "\\-" : "") + "dd\\.hh\\:mm";
    
          Console.WriteLine(result.ToString(fmt));
          Console.WriteLine("Interval: {0:" + fmt + "}", result);
       }
    }
    // The example displays output like the following:
    //       -1291.10:54
    //       Interval: -1291.10:54
    
    
    

.NET Framework no define ninguna gramática para los separadores en los intervalos de tiempo. Esto significa que los separadores entre los días y las horas, las horas y los minutos, los minutos y los segundos, y los segundos y las fracciones de segundo deben tratarse todos como literales de carácter en una cadena de formato.

En el siguiente ejemplo, se utilizan el carácter de escape y la comilla simple para definir una cadena de formato personalizado que incluye la palabra "minutes" en la cadena de salida.


TimeSpan interval = new TimeSpan(0, 32, 45);
// Escape literal characters in a format string.
string fmt = @"mm\:ss\ \m\i\n\u\t\e\s";
Console.WriteLine(interval.ToString(fmt));
// Delimit literal characters in a format string with the ' symbol.
fmt = "mm':'ss' minutes'";      
Console.WriteLine(interval.ToString(fmt));
// The example displays the following output: 
//       32:45 minutes      
//       32:45 minutes      


Volver a la tabla

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.