TimeSpan.Hours 属性

定义

获取当前 TimeSpan 结构所表示的时间间隔的小时数部分。Gets the hours component of the time interval represented by the current TimeSpan structure.

public:
 property int Hours { int get(); };
public int Hours { get; }
member this.Hours : int
Public ReadOnly Property Hours As Integer

属性值

Int32

当前 TimeSpan 结构的小时数部分。The hour component of the current TimeSpan structure. 返回值的范围为 -23 到 23。The return value ranges from -23 through 23.

示例

下面的示例创建多个 TimeSpan 对象,并显示 Hours 每个对象的属性。The following example creates several TimeSpan objects and displays the Hours property of each.

using namespace System;

static void ShowTimeSpanProperties(TimeSpan interval)
{
   Console::WriteLine("{0,21}", interval );
   Console::WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}",
                      "Days", interval.Days, "TotalDays",
                      interval.TotalDays);
   Console::WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}",
                      "Hours", interval.Hours, "TotalHours",
                      interval.TotalHours);
   Console::WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}",
                      "Minutes", interval.Minutes, "TotalMinutes",
                      interval.TotalMinutes);
   Console::WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}",
                      "Seconds", interval.Seconds, "TotalSeconds",
                      interval.TotalSeconds);
   Console::WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}",
                      "Milliseconds", interval.Milliseconds,
                      "TotalMilliseconds", interval.TotalMilliseconds);
   Console::WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N0}",
                      nullptr, nullptr, "Ticks", interval.Ticks);
}

void main()
{
   // Create and display a TimeSpan value of 1 tick.
   Console::Write("\n{0,-45}", "TimeSpan( 1 )");
   ShowTimeSpanProperties(TimeSpan(1));
   
   // Create a TimeSpan value with a large number of ticks.
   Console::Write("\n{0,-45}", "TimeSpan( 111222333444555 )");
   ShowTimeSpanProperties( TimeSpan(111222333444555));
   
   // This TimeSpan has all fields specified.
   Console::Write("\n{0,-45}", "TimeSpan( 10, 20, 30, 40, 50 )");
   ShowTimeSpanProperties( TimeSpan(10,20,30,40,50));
   
   // This TimeSpan has all fields overflowing.
   Console::Write("\n{0,-45}", "TimeSpan( 1111, 2222, 3333, 4444, 5555 )");
   ShowTimeSpanProperties( TimeSpan(1111,2222,3333,4444,5555));
   
   // This TimeSpan is based on a number of days.
   Console::Write("\n{0,-45}", "FromDays( 20.84745602 )");
   ShowTimeSpanProperties( TimeSpan::FromDays( 20.84745602 ));
}
// The example displays the following output if the current culture is en-US:
//    TimeSpan( 1 )                                     00:00:00.0000001
//    Days               0       TotalDays                         0.000
//    Hours              0       TotalHours                        0.000
//    Minutes            0       TotalMinutes                      0.000
//    Seconds            0       TotalSeconds                      0.000
//    Milliseconds       0       TotalMilliseconds                 0.000
//                               Ticks                                 1
//
//    TimeSpan( 111222333444555 )                   128.17:30:33.3444555
//    Days             128       TotalDays                       128.730
//    Hours             17       TotalHours                    3,089.509
//    Minutes           30       TotalMinutes                185,370.556
//    Seconds           33       TotalSeconds             11,122,233.344
//    Milliseconds     344       TotalMilliseconds    11,122,233,344.456
//                               Ticks               111,222,333,444,555
//
//    TimeSpan( 10, 20, 30, 40, 50 )                 10.20:30:40.0500000
//    Days              10       TotalDays                        10.855
//    Hours             20       TotalHours                      260.511
//    Minutes           30       TotalMinutes                 15,630.668
//    Seconds           40       TotalSeconds                937,840.050
//    Milliseconds      50       TotalMilliseconds       937,840,050.000
//                               Ticks                 9,378,400,500,000
//
//    TimeSpan( 1111, 2222, 3333, 4444, 5555 )     1205.22:47:09.5550000
//    Days            1205       TotalDays                     1,205.949
//    Hours             22       TotalHours                   28,942.786
//    Minutes           47       TotalMinutes              1,736,567.159
//    Seconds            9       TotalSeconds            104,194,029.555
//    Milliseconds     555       TotalMilliseconds   104,194,029,555.000
//                               Ticks             1,041,940,295,550,000
//
//    FromDays( 20.84745602 )                        20.20:20:20.2000000
//    Days              20       TotalDays                        20.847
//    Hours             20       TotalHours                      500.339
//    Minutes           20       TotalMinutes                 30,020.337
//    Seconds           20       TotalSeconds              1,801,220.200
//    Milliseconds     200       TotalMilliseconds     1,801,220,200.000
//                               Ticks                18,012,202,000,000
using System;

class Example
{
    static void Main()
    {
        // Create and display a TimeSpan value of 1 tick.
        Console.Write("\n{0,-45}", "TimeSpan( 1 )");
        ShowTimeSpanProperties(new TimeSpan(1));

        // Create a TimeSpan value with a large number of ticks.
        Console.Write("\n{0,-45}", "TimeSpan( 111222333444555 )");
        ShowTimeSpanProperties(new TimeSpan(111222333444555));

        // This TimeSpan has all fields specified.
        Console.Write("\n{0,-45}", "TimeSpan( 10, 20, 30, 40, 50 )");
        ShowTimeSpanProperties(new TimeSpan(10, 20, 30, 40, 50));

        // This TimeSpan has all fields overflowing.
        Console.Write("\n{0,-45}",
                      "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("\n{0,-45}", "FromDays( 20.84745602 )");
        ShowTimeSpanProperties(TimeSpan.FromDays( 20.84745602));
    }

    static void ShowTimeSpanProperties( TimeSpan interval )
    {
        Console.WriteLine("{0,21}", interval);
        Console.WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}", "Days",
                          interval.Days, "TotalDays", interval.TotalDays);
        Console.WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}", "Hours",
                          interval.Hours, "TotalHours", interval.TotalHours);
        Console.WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}", "Minutes",
                          interval.Minutes, "TotalMinutes", interval.TotalMinutes);
        Console.WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}", "Seconds",
                          interval.Seconds, "TotalSeconds", interval.TotalSeconds);
        Console.WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}", "Milliseconds",
                          interval.Milliseconds, "TotalMilliseconds",
                          interval.TotalMilliseconds);
        Console.WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N0}", null, null,
            "Ticks", interval.Ticks);
    } 
}
// The example displays the following output if the current culture is en-US:
//    TimeSpan( 1 )                                     00:00:00.0000001
//    Days               0       TotalDays                         0.000
//    Hours              0       TotalHours                        0.000
//    Minutes            0       TotalMinutes                      0.000
//    Seconds            0       TotalSeconds                      0.000
//    Milliseconds       0       TotalMilliseconds                 0.000
//                               Ticks                                 1
//
//    TimeSpan( 111222333444555 )                   128.17:30:33.3444555
//    Days             128       TotalDays                       128.730
//    Hours             17       TotalHours                    3,089.509
//    Minutes           30       TotalMinutes                185,370.556
//    Seconds           33       TotalSeconds             11,122,233.344
//    Milliseconds     344       TotalMilliseconds    11,122,233,344.456
//                               Ticks               111,222,333,444,555
//
//    TimeSpan( 10, 20, 30, 40, 50 )                 10.20:30:40.0500000
//    Days              10       TotalDays                        10.855
//    Hours             20       TotalHours                      260.511
//    Minutes           30       TotalMinutes                 15,630.668
//    Seconds           40       TotalSeconds                937,840.050
//    Milliseconds      50       TotalMilliseconds       937,840,050.000
//                               Ticks                 9,378,400,500,000
//
//    TimeSpan( 1111, 2222, 3333, 4444, 5555 )     1205.22:47:09.5550000
//    Days            1205       TotalDays                     1,205.949
//    Hours             22       TotalHours                   28,942.786
//    Minutes           47       TotalMinutes              1,736,567.159
//    Seconds            9       TotalSeconds            104,194,029.555
//    Milliseconds     555       TotalMilliseconds   104,194,029,555.000
//                               Ticks             1,041,940,295,550,000
//
//    FromDays( 20.84745602 )                        20.20:20:20.2000000
//    Days              20       TotalDays                        20.847
//    Hours             20       TotalHours                      500.339
//    Minutes           20       TotalMinutes                 30,020.337
//    Seconds           20       TotalSeconds              1,801,220.200
//    Milliseconds     200       TotalMilliseconds     1,801,220,200.000
//                               Ticks                18,012,202,000,000
Module Example
    Sub Main()
        ' Create and display a TimeSpan value of 1 tick.
        Console.Write(vbCrLf & "{0,-45}", "TimeSpan( 1 )")
        ShowTimeSpanProperties(New TimeSpan(1))

        ' Create a TimeSpan value with a large number of ticks.
        Console.Write(vbCrLf & "{0,-45}", "TimeSpan( 111222333444555 )")
        ShowTimeSpanProperties(New TimeSpan(111222333444555))

        ' This TimeSpan has all fields specified.
        Console.Write(vbCrLf & "{0,-45}", "TimeSpan( 10, 20, 30, 40, 50 )")
        ShowTimeSpanProperties(New TimeSpan( 10, 20, 30, 40, 50))

        ' This TimeSpan has all fields overflowing.
        Console.Write(vbCrLf & "{0,-45}",
                      "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( vbCrLf & "{0,-45}", "FromDays( 20.84745602 )")
        ShowTimeSpanProperties(TimeSpan.FromDays( 20.84745602))
    End Sub

    Sub ShowTimeSpanProperties(interval As TimeSpan)
        Console.WriteLine("{0,21}", interval)
        Console.WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}",
            "Days", interval.Days, "TotalDays", interval.TotalDays)
        Console.WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}", "Hours", interval.Hours,
            "TotalHours", interval.TotalHours)
        Console.WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}", "Minutes", interval.Minutes,
            "TotalMinutes", interval.TotalMinutes)
        Console.WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}", "Seconds", interval.Seconds,
            "TotalSeconds", interval.TotalSeconds)
        Console.WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N3}",
            "Milliseconds", interval.Milliseconds,
            "TotalMilliseconds", interval.TotalMilliseconds)
        Console.WriteLine("{0,-12}{1,8}       {2,-18}{3,21:N0}",
            Nothing, Nothing, "Ticks", interval.Ticks)
    End Sub 
End Module
' The example displays the following output if the current culture is en-US:
'    TimeSpan( 1 )                                     00:00:00.0000001
'    Days               0       TotalDays                         0.000
'    Hours              0       TotalHours                        0.000
'    Minutes            0       TotalMinutes                      0.000
'    Seconds            0       TotalSeconds                      0.000
'    Milliseconds       0       TotalMilliseconds                 0.000
'                               Ticks                                 1
'
'    TimeSpan( 111222333444555 )                   128.17:30:33.3444555
'    Days             128       TotalDays                       128.730
'    Hours             17       TotalHours                    3,089.509
'    Minutes           30       TotalMinutes                185,370.556
'    Seconds           33       TotalSeconds             11,122,233.344
'    Milliseconds     344       TotalMilliseconds    11,122,233,344.456
'                               Ticks               111,222,333,444,555
'
'    TimeSpan( 10, 20, 30, 40, 50 )                 10.20:30:40.0500000
'    Days              10       TotalDays                        10.855
'    Hours             20       TotalHours                      260.511
'    Minutes           30       TotalMinutes                 15,630.668
'    Seconds           40       TotalSeconds                937,840.050
'    Milliseconds      50       TotalMilliseconds       937,840,050.000
'                               Ticks                 9,378,400,500,000
'
'    TimeSpan( 1111, 2222, 3333, 4444, 5555 )     1205.22:47:09.5550000
'    Days            1205       TotalDays                     1,205.949
'    Hours             22       TotalHours                   28,942.786
'    Minutes           47       TotalMinutes              1,736,567.159
'    Seconds            9       TotalSeconds            104,194,029.555
'    Milliseconds     555       TotalMilliseconds   104,194,029,555.000
'                               Ticks             1,041,940,295,550,000
'
'    FromDays( 20.84745602 )                        20.20:20:20.2000000
'    Days              20       TotalDays                        20.847
'    Hours             20       TotalHours                      500.339
'    Minutes           20       TotalMinutes                 30,020.337
'    Seconds           20       TotalSeconds              1,801,220.200
'    Milliseconds     200       TotalMilliseconds     1,801,220,200.000
'                               Ticks                18,012,202,000,000

注解

TimeSpan值可以表示为 [ - ]dhhmmssff,其中可选的负号指示负时间间隔, d 组件是天, hh 是小时,以24小时制度量, mm 为分钟, ss 表示秒,而 ff 表示为秒的小数部分。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. 属性的值 Hours 为时间分量 hhThe value of the Hours property is the hours component, hh.

Hours属性表示整小时数,而 TotalHours 属性表示整小时数和小时的小数部分。The Hours property represents whole hours, whereas the TotalHours property represents whole and fractional hours.

适用于

另请参阅