TimeSpan Structure
Assembly: mscorlib (in mscorlib.dll)
[SerializableAttribute] [ComVisibleAttribute(true)] public value class TimeSpan : IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>
/** @attribute SerializableAttribute() */ /** @attribute ComVisibleAttribute(true) */ public final class TimeSpan extends ValueType implements IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>
JScript suports the use of structures, but not the declaration of new ones.
A TimeSpan object represents a time interval, or duration of time, measured as a positive or negative number of days, hours, minutes, seconds, and fractions of a second. The largest unit of time used to measure duration is a day. Time intervals are measured in days for consistency because the number of days in larger units of time, such as months and years, varies.
The value of a TimeSpan object is the number of ticks that equal the represented time interval. A tick is equal to 100 nanoseconds, and the value of a TimeSpan object can range from MinValue to MaxValue.
A TimeSpan value can be represented as [-]d.hh:mm:ss.ff, where the optional minus sign indicates a negative time interval, the d component is days, hh is hours as measured on a 24-hour clock, mm is minutes, ss is seconds, and ff is fractions of a second. That is, a time interval consists of a positive or negative number of days without a time of day, or a number of days with a time of day, or only a time of day. For example, the text representation of a TimeSpan object initialized to 1.0e+13 ticks is "11.13:46:40", which means 11 days, 13 hours, 46 minutes, and 40 seconds.
The TimeSpan type implements the System.IComparable and System.IComparable interfaces.
The following code example creates several TimeSpan objects and displays the properties of each.
// Example of the TimeSpan class properties. using namespace System; // Display the properties of the TimeSpan parameter. static void ShowTimeSpanProperties( TimeSpan interval ) { Object^ null = nullptr; String^ dataFmt = "{0,-12}{1,8} {2,-18}{3,21}"; 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 ); } int main() { String^ headerFmt = "\n{0,-45}"; 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( TimeSpan(1) ); // Create a TimeSpan value with a large number of ticks. Console::Write( headerFmt, "TimeSpan( 111222333444555 )" ); ShowTimeSpanProperties( TimeSpan(111222333444555) ); // This TimeSpan has all fields specified. Console::Write( headerFmt, "TimeSpan( 10, 20, 30, 40, 50 )" ); ShowTimeSpanProperties( TimeSpan(10,20,30,40,50) ); // This TimeSpan has all fields overflowing. Console::Write( headerFmt, "TimeSpan( 1111, 2222, 3333, 4444, 5555 )" ); ShowTimeSpanProperties( 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 Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.