TimeSpan (Estructura)
Ensamblado: mscorlib (en mscorlib.dll)
[SerializableAttribute] [ComVisibleAttribute(true)] public struct TimeSpan : IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>
/** @attribute SerializableAttribute() */ /** @attribute ComVisibleAttribute(true) */ public final class TimeSpan extends ValueType implements IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>
Un objeto TimeSpan representa un intervalo de tiempo medido como número positivo o negativo de días, horas, minutos, segundos y fracciones de segundo. La unidad de tiempo más grande utilizada 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, y el valor de un objeto TimeSpan está comprendido entre MinValue y MaxValue.
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 es una fracción 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. Por ejemplo, la representación de texto de un objeto TimeSpan inicializado con 1.0e+13 pasos es "11.13:46:40", que corresponde a 11 días, 13 horas, 46 minutos y 40 segundos.
El tipo TimeSpan implementa las interfaces System.IComparable y System.IComparable.
En el siguiente ejemplo de código se crean varios objetos TimeSpan y se muestran las propiedades de cada uno de ellos.
// Example of the TimeSpan class properties. using System; class TimeSpanPropertiesDemo { const string headerFmt = "\n{0,-45}"; const string dataFmt = "{0,-12}{1,8} {2,-18}{3,21}" ; // Display the properties of the TimeSpan parameter. static void ShowTimeSpanProperties( TimeSpan interval ) { Console.WriteLine( "{0,21}", interval ); Console.WriteLine( dataFmt, "Days", interval.Days, "TotalDays", interval.TotalDays ); Console.WriteLine( dataFmt, "Hours", interval.Hours, "TotalHours", interval.TotalHours ); Console.WriteLine( dataFmt, "Minutes", interval.Minutes, "TotalMinutes", interval.TotalMinutes ); Console.WriteLine( dataFmt, "Seconds", interval.Seconds, "TotalSeconds", interval.TotalSeconds ); Console.WriteLine( dataFmt, "Milliseconds", interval.Milliseconds, "TotalMilliseconds", interval.TotalMilliseconds ); Console.WriteLine( dataFmt, null, null, "Ticks", interval.Ticks ); } static void Main( ) { Console.WriteLine( "This example of the TimeSpan class properties " + "generates the \nfollowing output. It " + "creates several TimeSpan objects and \ndisplays " + "the values of the TimeSpan properties for each." ); // Create and display a TimeSpan value of 1 tick. Console.Write( headerFmt, "TimeSpan( 1 )" ); ShowTimeSpanProperties( new TimeSpan( 1 ) ); // Create a TimeSpan value with a large number of ticks. Console.Write( headerFmt, "TimeSpan( 111222333444555 )" ); ShowTimeSpanProperties( new TimeSpan( 111222333444555 ) ); // This TimeSpan has all fields specified. Console.Write( headerFmt, "TimeSpan( 10, 20, 30, 40, 50 )" ); ShowTimeSpanProperties( new TimeSpan( 10, 20, 30, 40, 50 ) ); // This TimeSpan has all fields overflowing. Console.Write( headerFmt, "TimeSpan( 1111, 2222, 3333, 4444, 5555 )" ); ShowTimeSpanProperties( new TimeSpan( 1111, 2222, 3333, 4444, 5555 ) ); // This TimeSpan is based on a number of days. Console.Write( headerFmt, "FromDays( 20.84745602 )" ); ShowTimeSpanProperties( TimeSpan.FromDays( 20.84745602 ) ); } } /* This example of the TimeSpan class properties generates the following output. It creates several TimeSpan objects and displays the values of the TimeSpan properties for each. TimeSpan( 1 ) 00:00:00.0000001 Days 0 TotalDays 1.15740740740741E-12 Hours 0 TotalHours 2.77777777777778E-11 Minutes 0 TotalMinutes 1.66666666666667E-09 Seconds 0 TotalSeconds 1E-07 Milliseconds 0 TotalMilliseconds 0.0001 Ticks 1 TimeSpan( 111222333444555 ) 128.17:30:33.3444555 Days 128 TotalDays 128.729552597865 Hours 17 TotalHours 3089.50926234875 Minutes 30 TotalMinutes 185370.555740925 Seconds 33 TotalSeconds 11122233.3444555 Milliseconds 344 TotalMilliseconds 11122233344.4555 Ticks 111222333444555 TimeSpan( 10, 20, 30, 40, 50 ) 10.20:30:40.0500000 Days 10 TotalDays 10.8546302083333 Hours 20 TotalHours 260.511125 Minutes 30 TotalMinutes 15630.6675 Seconds 40 TotalSeconds 937840.05 Milliseconds 50 TotalMilliseconds 937840050 Ticks 9378400500000 TimeSpan( 1111, 2222, 3333, 4444, 5555 ) 1205.22:47:09.5550000 Days 1205 TotalDays 1205.94941614583 Hours 22 TotalHours 28942.7859875 Minutes 47 TotalMinutes 1736567.15925 Seconds 9 TotalSeconds 104194029.555 Milliseconds 555 TotalMilliseconds 104194029555 Ticks 1041940295550000 FromDays( 20.84745602 ) 20.20:20:20.2000000 Days 20 TotalDays 20.8474560185185 Hours 20 TotalHours 500.338944444444 Minutes 20 TotalMinutes 30020.3366666667 Seconds 20 TotalSeconds 1801220.2 Milliseconds 200 TotalMilliseconds 1801220200 Ticks 18012202000000 */
// Example of the TimeSpan class properties.
import System.*;
class TimeSpanPropertiesDemo
{
private static String headerFmt = "\n{0,-45}";
private static String dataFmt = "{0,-12}{1,8} {2,-18}{3,21}";
// Display the properties of the TimeSpan parameter.
static void ShowTimeSpanProperties(TimeSpan interval)
{
Console.WriteLine("{0,21}", interval);
Console.WriteLine(dataFmt, new Object[] { "Days",
String.valueOf(interval.get_Days()), "TotalDays",
String.valueOf(interval.get_TotalDays()) });
Console.WriteLine(dataFmt, new Object[] { "Hours",
String.valueOf(interval.get_Hours()), "TotalHours",
String.valueOf(interval.get_TotalHours()) });
Console.WriteLine(dataFmt, new Object[] { "Minutes",
String.valueOf(interval.get_Minutes()), "TotalMinutes",
String.valueOf(interval.get_TotalMinutes()) });
Console.WriteLine(dataFmt, new Object[] { "Seconds",
String.valueOf(interval.get_Seconds()), "TotalSeconds",
(System.Double)interval.get_TotalSeconds() });
Console.WriteLine(dataFmt, new Object[] { "Milliseconds",
String.valueOf(interval.get_Milliseconds()), "TotalMilliseconds",
(System.Double)interval.get_TotalMilliseconds() });
Console.WriteLine(dataFmt, new Object[] { null, null, "Ticks",
String.valueOf(interval.get_Ticks()) });
} //ShowTimeSpanProperties
public static void main(String[] args)
{
Console.WriteLine(("This example of the TimeSpan class properties "
+ "generates the \nfollowing output. It "
+ "creates several TimeSpan objects and \ndisplays "
+ "the values of the TimeSpan properties for each."));
// Create and display a TimeSpan value of 1 tick.
Console.Write(headerFmt, "TimeSpan( 1 )");
ShowTimeSpanProperties(new TimeSpan(1));
// Create a TimeSpan value with a large number of ticks.
Console.Write(headerFmt, "TimeSpan( 111222333444555 )");
ShowTimeSpanProperties(new TimeSpan(111222333444555L));
// This TimeSpan has all fields specified.
Console.Write(headerFmt, "TimeSpan( 10, 20, 30, 40, 50 )");
ShowTimeSpanProperties(new TimeSpan(10, 20, 30, 40, 50));
// This TimeSpan has all fields overflowing.
Console.Write(headerFmt, "TimeSpan( 1111, 2222, 3333, 4444, 5555 )");
ShowTimeSpanProperties(new TimeSpan(1111, 2222, 3333, 4444, 5555));
// This TimeSpan is based on a number of days.
Console.Write(headerFmt, "FromDays( 20.84745602 )");
ShowTimeSpanProperties(TimeSpan.FromDays(20.84745602));
} //main
} //TimeSpanPropertiesDemo
/*
This example of the TimeSpan class properties generates the
following output. It creates several TimeSpan objects and
displays the values of the TimeSpan properties for each.
TimeSpan( 1 ) 00:00:00.0000001
Days 0 TotalDays 1.1574074074074074E-12
Hours 0 TotalHours 2.7777777777777777E-11
Minutes 0 TotalMinutes 1.6666666666666667E-9
Seconds 0 TotalSeconds 1E-07
Milliseconds 0 TotalMilliseconds 0.0001
Ticks 1
TimeSpan( 111222333444555 ) 128.17:30:33.3444555
Days 128 TotalDays 128.7295525978646
Hours 17 TotalHours 3089.50926234875
Minutes 30 TotalMinutes 185370.555740925
Seconds 33 TotalSeconds 11122233.3444555
Milliseconds 344 TotalMilliseconds 11122233344.4555
Ticks 111222333444555
TimeSpan( 10, 20, 30, 40, 50 ) 10.20:30:40.0500000
Days 10 TotalDays 10.854630208333333
Hours 20 TotalHours 260.511125
Minutes 30 TotalMinutes 15630.6675
Seconds 40 TotalSeconds 937840.05
Milliseconds 50 TotalMilliseconds 937840050
Ticks 9378400500000
TimeSpan( 1111, 2222, 3333, 4444, 5555 ) 1205.22:47:09.5550000
Days 1205 TotalDays 1205.9494161458333
Hours 22 TotalHours 28942.7859875
Minutes 47 TotalMinutes 1736567.15925
Seconds 9 TotalSeconds 104194029.555
Milliseconds 555 TotalMilliseconds 104194029555
Ticks 1041940295550000
FromDays( 20.84745602 ) 20.20:20:20.2000000
Days 20 TotalDays 20.847456018518518
Hours 20 TotalHours 500.33894444444445
Minutes 20 TotalMinutes 30020.336666666666
Seconds 20 TotalSeconds 1801220.2
Milliseconds 200 TotalMilliseconds 1801220200
Ticks 18012202000000
*/
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.