0 von 1 fanden dies hilfreich - Dieses Thema bewerten.

TimeSpan-Struktur

Stellt ein Zeitintervall dar.

Namespace: System
Assembly: mscorlib (in 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>
JScript unterstützt die Verwendung von Strukturen, aber nicht die Deklaration von neuen Strukturen.

Ein TimeSpan-Objekt stellt ein Zeitintervall oder eine Zeitdauer dar und wird als positive oder negative Anzahl von Tagen, Stunden, Minuten, Sekunden und Sekundenbruchteilen angegeben. Als größte Einheit zum Angeben einer Zeitdauer wird Tag verwendet. Zeitintervalle werden aus Konsistenzgründen in Tagen angegeben, da die Anzahl der Tage bei größeren Zeiteinheiten wie Monaten und Jahren schwankt.

Der Wert eines TimeSpan-Objekts wird durch die Anzahl der Ticks entsprechend dem jeweiligen Zeitintervall dargestellt. Ein Tick entspricht 100 Nanosekunden und der Wert eines TimeSpan-Objekts kann im Bereich von MinValue bis MaxValue liegen.

Ein TimeSpan-Wert kann als [-]d.hh:mm:ss.ff dargestellt werden. Dabei gibt das optionale Minuszeichen ein negatives Zeitintervall an, die d-Komponente stellt die Tage dar, hh bezeichnet die Stunden auf einer Uhr in 24-Stunden-Schreibweise, mm sind die Minuten, ss die Sekunden und ff die Sekundenbruchteile. Ein Zeitintervall besteht also aus einer positiven oder negativen Anzahl von Tagen ohne eine Tageszeit oder einer Anzahl von Tagen mit einer Tageszeit oder aus nur einer Tageszeit. Ein mit 1,0e+13 Ticks initialisiertes TimeSpan-Objekt stellt z. B. "11.13:46:40" dar, d. h., 11 Tage, 13 Stunden, 46 Minuten und 40 Sekunden.

Der TimeSpan-Typ implementiert die System.IComparable-Schnittstelle und die System.IComparable-Schnittstelle.

Im folgenden Codebeispiel werden mehrere TimeSpan-Objekte erstellt und die Eigenschaften jedes Objekts angezeigt.

// 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
*/

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)