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
Personas que lo han encontrado útil: 1 de 1 - Valorar este tema

TimeSpan (Estructura)

Representa un intervalo de tiempo.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct TimeSpan : IComparable, IComparable<TimeSpan>, 
	IEquatable<TimeSpan>, IFormattable

El tipo TimeSpan expone los siguientes miembros.

  NombreDescripción
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTimeSpan(Int64)Inicializa una nueva instancia de la estructura TimeSpan en un número de pasos especificado.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTimeSpan(Int32, Int32, Int32)Inicializa una nueva instancia de la estructura TimeSpan con un número de horas, minutos y segundos especificado.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTimeSpan(Int32, Int32, Int32, Int32)Inicializa una nueva instancia de la estructura TimeSpan con un número de días, horas, minutos y segundos especificado.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTimeSpan(Int32, Int32, Int32, Int32, Int32)Inicializa una nueva instancia de la estructura de TimeSpan a un número especificado de días, de horas, de minutos, de segundos, y de milisegundos.
Arriba
  NombreDescripción
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsDaysObtiene el componente de días del intervalo de tiempo representado por el objeto TimeSpan actual.
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsHoursObtiene el componente correspondiente a las horas del intervalo de tiempo representado por estructura TimeSpan actual.
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMillisecondsObtiene el componente correspondiente a los milisegundos del intervalo de tiempo representado por estructura TimeSpan actual.
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMinutesObtiene el componente correspondiente a los minutos del intervalo de tiempo representado por estructura TimeSpan actual.
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSecondsObtiene el componente correspondiente a los segundos del intervalo de tiempo representado por estructura TimeSpan actual.
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTicks Obtiene el número de pasos que representan el valor de la estructura TimeSpan actual.
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTotalDaysObtiene el valor de la estructura TimeSpan actual expresado en días completos y fracciones de días.
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTotalHoursObtiene el valor de la estructura TimeSpan actual expresado en horas completas y fracciones de horas.
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTotalMillisecondsObtiene el valor de la estructura TimeSpan actual expresado en milisegundos completos y fracciones de milisegundos.
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTotalMinutesObtiene el valor de la estructura TimeSpan actual expresado en minutos completos y fracciones de minutos.
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTotalSecondsObtiene el valor de la estructura TimeSpan actual expresado en segundos completos y fracciones de segundos.
Arriba
  NombreDescripción
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsAddDevuelve un nuevo objeto TimeSpan cuyo valor es la suma del objeto TimeSpan especificado y esta instancia.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCompareCompara dos valores TimeSpan y devuelve un entero que indica si el primer valor es menor, igual o mayor que el segundo valor.
Método públicoCompatible con XNA FrameworkCompareTo(Object)Compara esta instancia con un objeto especificado y devuelve un entero que indica si la instancia es más corta, igual o más larga que el objeto especificado.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCompareTo(TimeSpan)Compara esta instancia con un objeto TimeSpan especificado y devuelve un entero que indica si la instancia es más corta, igual o más larga que el objeto TimeSpan.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsDurationDevuelve un nuevo objeto TimeSpan cuyo valor es el valor absoluto del objeto TimeSpan actual.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(Object)Devuelve un valor que indica si esta instancia equivale a un objeto especificado. (Invalida a ValueType.Equals(Object)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(TimeSpan)Devuelve un valor que indica si esta instancia equivale a un objeto TimeSpan especificado.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(TimeSpan, TimeSpan)Devuelve un valor que indica si dos instancias de TimeSpan especificadas son iguales.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFromDaysDevuelve un TimeSpan que representa un número de días especificado con una precisión aproximada al milisegundo más cercano.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFromHoursDevuelve un TimeSpan que representa un número de horas especificado cuya precisión se aproximada al milisegundo más cercano.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFromMillisecondsDevuelve un TimeSpan que representa un número de milisegundos especificado.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFromMinutesDevuelve un TimeSpan que representa un número de minutos especificado con una precisión aproximada al milisegundo más cercano.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFromSecondsDevuelve un TimeSpan que representa un número de segundos especificado con una precisión aproximada al milisegundo más cercano.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFromTicksDevuelve un TimeSpan que representa un tiempo especificado en unidades de paso.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetHashCodeDevuelve un código hash para esta instancia. (Invalida a ValueType.GetHashCode()).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetType Obtiene el Typede la instancia actual. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsNegateDevuelve un objeto TimeSpan nuevo cuyo valor es el valor negado de esta instancia.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsParse(String)Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsParse(String, IFormatProvider)Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan, utilizando la información de formato específica de la referencia cultural especificada.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsParseExact(String, String, IFormatProvider)Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan, utilizando el formato especificado así como la información de formato específica de la referencia cultural especificada. El formato de la representación de cadena debe coincidir exactamente con el formato especificado.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsParseExact(String, String[], IFormatProvider)Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan, utilizando la matriz de cadenas de formato y la información de formato específica de la referencia cultural especificadas. El formato de la representación de cadena debe coincidir exactamente con uno de los formatos especificados.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsParseExact(String, String, IFormatProvider, TimeSpanStyles)Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan, utilizando el formato, los estilos y la información de formato específica de la referencia cultural especificados. El formato de la representación de cadena debe coincidir exactamente con el formato especificado.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsParseExact(String, String[], IFormatProvider, TimeSpanStyles)Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan, utilizando los formatos, los estilos y la información de formato específica de la referencia cultural especificados. El formato de la representación de cadena debe coincidir exactamente con uno de los formatos especificados.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSubtractDevuelve un nuevo objeto TimeSpan cuyo valor es la diferencia entre el objeto TimeSpan especificado y esta instancia.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToString()Convierte el valor del objeto TimeSpan actual en su representación de cadena equivalente. (Invalida a ValueType.ToString()).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToString(String)Convierte el valor del objeto TimeSpan actual en su representación de cadena equivalente utilizando el formato especificado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToString(String, IFormatProvider)Convierte el valor del objeto TimeSpan actual en su representación de cadena equivalente usando el formato especificado y la información de formato específica de la referencia cultural indicada.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTryParse(String, TimeSpan)Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan y devuelve un valor que indica si la conversión se realizó correctamente.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTryParse(String, IFormatProvider, TimeSpan)Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan utilizando la información de formato específica de la referencia cultural, y devuelve un valor que indica si la conversión se realizó correctamente.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTryParseExact(String, String, IFormatProvider, TimeSpan)Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan utilizando el formato y la información de formato específica de la referencia cultural especificados, y devuelve un valor que indica si la conversión se realizó correctamente. El formato de la representación de cadena debe coincidir exactamente con el formato especificado.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTryParseExact(String, String[], IFormatProvider, TimeSpan)Convierte la representación de cadena especificada de un intervalo de tiempo en su equivalente de TimeSpan utilizando los formatos y la información de formato específica de la referencia cultural especificados, y devuelve un valor que indica si la conversión se realizó correctamente. El formato de la representación de cadena debe coincidir exactamente con uno de los formatos especificados.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan)Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan utilizando el formato, los estilos y la información de formato específica de la referencia cultural especificados, y devuelve un valor que indica si la conversión se realizó correctamente. El formato de la representación de cadena debe coincidir exactamente con el formato especificado.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan)Convierte la representación de cadena especificada de un intervalo de tiempo en su equivalente de TimeSpan utilizando los formatos, los estilos y la información de formato específica de la referencia cultural especificados, y devuelve un valor que indica si la conversión se realizó correctamente. El formato de la representación de cadena debe coincidir exactamente con uno de los formatos especificados.
Arriba
  NombreDescripción
Operador públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsAdditionAgrega dos instancias de TimeSpan especificadas.
Operador públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEqualityIndica si dos instancias de TimeSpan son iguales.
Operador públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGreaterThanIndica si un TimeSpan especificado es mayor que otro TimeSpan especificado.
Operador públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGreaterThanOrEqualIndica si un TimeSpan especificado es mayor o igual que otro TimeSpan especificado.
Operador públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsInequalityIndica si dos instancias de TimeSpan no son iguales.
Operador públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLessThanIndica si un TimeSpan especificado es menor que otro TimeSpan especificado.
Operador públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLessThanOrEqualIndica si un TimeSpan especificado es menor o igual que otro TimeSpan especificado.
Operador públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSubtractionResta un TimeSpan especificado de otro TimeSpan especificado.
Operador públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsUnaryNegationDevuelve un TimeSpan cuyo valor es el valor negado de la instancia especificada.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsUnaryPlusDevuelve la instancia especificada de TimeSpan.
Arriba
  NombreDescripción
Campo públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMaxValueRepresenta el valor máximo de TimeSpan. Este campo es de sólo lectura.
Campo públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMinValueRepresenta el valor mínimo de TimeSpan. Este campo es de sólo lectura.
Campo públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTicksPerDayRepresenta el número de pasos en 1 día. Este campo es constante.
Campo públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTicksPerHourRepresenta el número de pasos en 1 hora. Este campo es constante.
Campo públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTicksPerMillisecondRepresenta el número de pasos en 1 milisegundo. Este campo es constante.
Campo públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTicksPerMinuteRepresenta el número de pasos en 1 minuto. Este campo es constante.
Campo públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTicksPerSecondRepresenta el número de pasos en 1 segundo.
Campo públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsZeroRepresenta el valor de TimeSpan cero. Este campo es de sólo lectura.
Arriba
  NombreDescripción
Implementación explícita de interfacesMétodo privadoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIComparable.CompareToCompara la instancia actual con otro objeto del mismo tipo y devuelve un entero que indica si la posición de la instancia actual es anterior, posterior o igual que la del otro objeto en el criterio de ordenación.
Arriba

Un objeto TimeSpan representa un intervalo de tiempo (duración de tiempo o tiempo transcurrido) que se mide como un número positivo o negativo de días, horas, minutos, segundos y fracciones de segundo. La estructura TimeSpan también se puede utilizar para representar la hora del día, pero solo si la hora no está relacionada con una fecha determinada. De los contrario, la estructura DateTime o DateTimeOffset debe utilizarse en su lugar. (Para obtener más información sobre el uso de la estructura TimeSpan para reflejar la hora del día, vea Elegir entre DateTime, DateTimeOffset y TimeZoneInfo.)

La unidad de tiempo más grande que usa la estructura TimeSpan para medir la duración es un día. Los intervalos de tiempo se miden en días por cuestión de coherencia, ya que el número de días en unidades de tiempo mayores, como meses y años, varía.

El valor de un objeto TimeSpan es el número de pasos que equivale al intervalo de tiempo representado. Un paso es igual a 100 nanosegundos o una diezmillonésima parte de un segundo. El valor de un objeto TimeSpan puede estar comprendido entre TimeSpan.MinValue y TimeSpan.MaxValue.

Crear instancias de un valor TimeSpan

Puede crear instancias de un valor TimeSpan de varias formas:

  • Mediante una llamada a su constructor predeterminado implícito. Esto crea un objeto cuyo valor es TimeSpan.Zero, como se muestra en el ejemplo siguiente.

    
    TimeSpan interval = new TimeSpan();
    Console.WriteLine(interval.Equals(TimeSpan.Zero));    // Displays "True".
    
    
    
  • Llamando a uno de sus constructores explícitos. En el siguiente ejemplo se inicializa un valor TimeSpan para un número de horas, minutos y segundos especificado.

    
    TimeSpan interval = new TimeSpan(2, 14, 18);
    Console.WriteLine(interval.ToString());              // Displays "02:14:18".
    
    
    
  • Llamando a un método o realizando una operación que devuelve un valor TimeSpan. Por ejemplo, puede crear instancias de un valor TimeSpan que representa el intervalo entre dos valores de fecha y hora, como las siguientes presentaciones del ejemplo.

    
    DateTime departure = new DateTime(2010, 6, 12, 18, 32, 0);
    DateTime arrival = new DateTime(2010, 6, 13, 22, 47, 0);
    TimeSpan travelTime = arrival - departure;  
    Console.WriteLine("{0} - {1} = {2}", arrival, departure, travelTime);      
    // The example displays the following output:
    //       6/13/2010 10:47:00 PM - 6/12/2010 6:32:00 PM = 1.04:15:00
    
    
    

    También puede inicializar un objeto de TimeSpan a un valor de hora cero de esta manera, como se muestra en el ejemplo siguiente.

    
    using System;
    
    public class Example
    {
       static Random rnd = new Random();
    
       public static void Main()
       {
          TimeSpan timeSpent = TimeSpan.Zero;
    
          timeSpent += GetTimeBeforeLunch();
          timeSpent += GetTimeAfterLunch();
    
          Console.WriteLine("Total time: {0}", timeSpent);
       }
    
       private static TimeSpan GetTimeBeforeLunch()
       {
          return new TimeSpan(rnd.Next(3, 6), 0, 0);
       }
    
       private static TimeSpan GetTimeAfterLunch()
       {
          return new TimeSpan(rnd.Next(3, 6), 0, 0);
       }
    }
    // The example displays output like the following:
    //        Total time: 08:00:00
    
    
    

    Los valores TimeSpan se devuelven mediante operadores aritméticos y métodos de las estructuras DateTime, DateTimeOffset y TimeSpan.

  • Mediante el análisis de la representación de cadena de un valor TimeSpan. Puede usar los métodos TryParse y Parse para convertir cadenas que contienen intervalos de tiempo para los valores TimeSpan. En el siguiente ejemplo, se utiliza el método Parse para convertir una matriz de cadenas en valores TimeSpan.

    
    string[] values = { "12", "31.", "5.8:32:16", "12:12:15.95", ".12"};
    foreach (string value in values)
    {
       try {
          TimeSpan ts = TimeSpan.Parse(value);
          Console.WriteLine("'{0}' --> {1}", value, ts);
       }
       catch (FormatException) {
          Console.WriteLine("Unable to parse '{0}'", value);
       }
       catch (OverflowException) {
          Console.WriteLine("'{0}' is outside the range of a TimeSpan.", value);
       }   
    }
    // The example displays the following output:
    //       '12' --> 12.00:00:00
    //       Unable to parse '31.'
    //       '5.8:32:16' --> 5.08:32:16
    //       '12:12:15.95' --> 12:12:15.9500000
    //       Unable to parse '.12'  
    
    
    

    Además, puede definir el formato preciso de la cadena de entrada que se va a analizar y convertir a un valor TimeSpan llamando al método TryParseExact u ParseExact.

Realizar operaciones en valores TimeSpan

Puede agregar y restar duraciones de tiempo usando los operadores Subtraction y Addition o llamando a los métodos Subtract y Add. También puede comparar dos duraciones de tiempo llamando a los métodos Compare, CompareTo y Equals. La clase TimeSpan también incluye los métodos Negate y Duration que convierten intervalos de tiempo en valores positivos y negativos,

El intervalo de valores TimeSpan va de MinValue a MaxValue.

Dar formato a un valor TimeSpan

Un valor TimeSpan se puede representar como [-]d.hh:mm:ss.ff, donde el signo menos opcional indica un intervalo de tiempo negativo, el componente d son los días, hh son las horas en formato de 24 horas, mm son los minutos, ss son los segundos y ff son fracciones de segundo. Es decir, un intervalo de tiempo está formado por un número positivo o negativo de días completos, un número de días con períodos de tiempo o sólo períodos de tiempo.

Comenzando con .NET Framework 4, la estructura TimeSpan admite el formato dependiente de la referencia cultural a través de las sobrecargas de su método ToString, que convierte un valor TimeSpan en su representación de cadena. El método TimeSpan.ToString() predeterminado devuelve un intervalo de tiempo usando un formato invariable que es idéntico a su valor devuelto en versiones anteriores de .NET Framework. La sobrecarga TimeSpan.ToString(String) permite especificar una cadena con formato que define la representación de cadena del intervalo de tiempo. La sobrecarga de TimeSpan.ToString(String, IFormatProvider)permite especificar una cadena de formato y la referencia cultural cuyas convenciones de formato se utilizan para crear la representación de cadena del intervalo de tiempo. TimeSpan admite cadenas de formato estándar y personalizadas. (Para obtener más información, vea Cadenas de formato TimeSpan estándar y Cadenas de formato TimeSpan personalizado). Sin embargo, solo las cadenas de formato estándar son dependientes de la referencia cultural.

Restaurar el formato de TimeSpan heredado

En algunos casos, el código que da formato correctamente los valores de TimeSpan en .NET Framework 3.5 y versiones anteriores produce un error en .NET Framework 4. Éste es el más común en el código que llama a un método de formato compuesto para dar formato a un valor deTimeSpan con una cadena de formato. El siguiente ejemplo da formato correctamente a un valor TimeSpan en .NET Framework 3.5 y versiones anteriores, pero produce una excepción en .NET Framework 4 y versiones posteriores. Observe que intenta dar formato a un valor TimeSpan usando un especificador de formato no compatible, que se omite en .NET Framework 3.5 y en versiones anteriores.


TimeSpan interval = new TimeSpan(12, 30, 45);
string output;
try {
   output = String.Format("{0:r}", interval);
}
catch (FormatException) {
   output = "Invalid Format";
}
Console.WriteLine(output);
// Output from .NET Framework 3.5 and earlier versions:
//       12:30:45
// Output from .NET Framework 4:
//       Invalid Format


Si no puede modificar el código, puede restaurar el formato heredado de valores TimeSpan de una de las siguientes maneras:

  • Creando un archivo de configuración que contiene el elemento <TimeSpan_LegacyFormatMode>. Al establecer el atributo enabled de este elemento en true, se restaura el formato TimeSpan heredado según la aplicación.

  • Estableciendo el modificador de compatibilidad de "NetFx40_TimeSpanLegacyFormatMode" al crear un dominio de aplicación. Esto habilita el formato TimeSpan heredado según dominio de aplicación. En el ejemplo siguiente se crea un dominio de aplicación que usa el formato TimeSpan heredado.

    
    using System;
    
    public class Example
    {
       public static void Main()
       {
          AppDomainSetup appSetup = new AppDomainSetup();
          appSetup.SetCompatibilitySwitches( new string[] { "NetFx40_TimeSpanLegacyFormatMode" } );
          AppDomain legacyDomain = AppDomain.CreateDomain("legacyDomain", 
                                                          null, appSetup);
          legacyDomain.ExecuteAssembly("ShowTimeSpan.exe");
       }
    }
    
    
    

    Cuando el siguiente código se ejecuta en el nuevo dominio de aplicación, revierte al comportamiento de formato TimeSpan heredado.

    
    using System;
    
    public class Example
    {
       public static void Main()
       {
          TimeSpan interval = DateTime.Now - DateTime.Now.Date;
          string msg = String.Format("Elapsed Time Today: {0:d} hours.",
                                     interval);
          Console.WriteLine(msg);
       }
    }
    // The example displays the following output:
    //       Elapsed Time Today: 01:40:52.2524662 hours.
    
    
    

En el siguiente ejemplo se crean instancias de un objeto TimeSpan que representa la diferencia entre dos fechas. A continuación, muestra las propiedades del objeto TimeSpan.


// Define two dates.
DateTime date1 = new DateTime(2010, 1, 1, 8, 0, 15);
DateTime date2 = new DateTime(2010, 8, 18, 13, 30, 30);
// Calculate the interval between the two dates.
TimeSpan interval = date2 - date1;
Console.WriteLine("{0} - {1} = {2}", date2, date1, interval.ToString());
// Display individual properties of the resulting TimeSpan object.
Console.WriteLine("   {0,-35} {1,20}", "Value of Days Component:", interval.Days);
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Days:", interval.TotalDays);
Console.WriteLine("   {0,-35} {1,20}", "Value of Hours Component:", interval.Hours);
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Hours:", interval.TotalHours);
Console.WriteLine("   {0,-35} {1,20}", "Value of Minutes Component:", interval.Minutes);
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Minutes:", interval.TotalMinutes);
Console.WriteLine("   {0,-35} {1,20:N0}", "Value of Seconds Component:", interval.Seconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Total Number of Seconds:", interval.TotalSeconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Value of Milliseconds Component:", interval.Milliseconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Total Number of Milliseconds:", interval.TotalMilliseconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Ticks:", interval.Ticks);
// the example displays the following output:
//       8/18/2010 1:30:30 PM - 1/1/2010 8:00:15 AM = 229.05:30:15
//          Value of Days Component:                             229
//          Total Number of Days:                   229.229340277778
//          Value of Hours Component:                              5
//          Total Number of Hours:                  5501.50416666667
//          Value of Minutes Component:                           30
//          Total Number of Minutes:                       330090.25
//          Value of Seconds Component:                           15
//          Total Number of Seconds:                      19,805,415
//          Value of Milliseconds Component:                       0
//          Total Number of Milliseconds:             19,805,415,000
//          Ticks:                               198,054,150,000,000


.NET Framework

Compatible con: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Todos los miembros públicos static (Shared en Visual Basic) de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

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