# TimeSpan Структура

## Определение

Представляет интервал времени.Represents a time interval.

``public value class TimeSpan : IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>, IFormattable``
``````[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct TimeSpan : IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>, IFormattable``````
``````type TimeSpan = struct
interface IFormattable``````
``````Public Structure TimeSpan
Implements IComparable, IComparable(Of TimeSpan), IEquatable(Of TimeSpan), IFormattable``````
Наследование
TimeSpan
Атрибуты
Реализации

## Примеры

В следующем примере создается экземпляр объекта TimeSpan, который представляет разницу между двумя датами.The following example instantiates a TimeSpan object that represents the difference between two dates. Затем он отображает свойства объекта TimeSpan.It then displays the TimeSpan object's properties.

Примечание

Some of the C# examples in this article run in the Try.NET inline code runner and playground. When present, select the Run button to run an example in an interactive window. Once you execute the code, you can modify it and run the modified code by selecting Run again. The modified code either runs in the interactive window or, if compilation fails, the interactive window displays all C# compiler error messages.

``````// 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);

// This 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
``````
``````' Define two dates.
Dim date1 As Date = #1/1/2010 8:00:15AM#
Dim date2 As Date = #8/18/2010 1:30:30PM#
' Calculate the interval between the two dates.
Dim interval As TimeSpan = 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
``````
``````# Define two dates.
\$Date2 = Get-Date -Date '2010/8/18' -Hour 13 -Minute 30 -Second 30
\$Date1 = Get-Date -Date '2010/1/1'  -Hour 8  -Minute 0  -Second 15

# Calculate the interval between the two dates.
\$Interval = \$Date2 - \$Date1
"{0} - {1} = {2}" -f \$Date2, \$Date1, (\$Interval.ToString())

#  Display individual properties of the resulting TimeSpan object.
"   {0,-35} {1,20}"    -f "Value of Days Component:", \$Interval.Days
"   {0,-35} {1,20}"    -f "Total Number of Days:", \$Interval.TotalDays
"   {0,-35} {1,20}"    -f "Value of Hours Component:", \$Interval.Hours
"   {0,-35} {1,20}"    -f "Total Number of Hours:", \$Interval.TotalHours
"   {0,-35} {1,20}"    -f "Value of Minutes Component:", \$Interval.Minutes
"   {0,-35} {1,20}"    -f "Total Number of Minutes:", \$Interval.TotalMinutes
"   {0,-35} {1,20:N0}" -f "Value of Seconds Component:", \$Interval.Seconds
"   {0,-35} {1,20:N0}" -f "Total Number of Seconds:", \$Interval.TotalSeconds
"   {0,-35} {1,20:N0}" -f "Value of Milliseconds Component:", \$Interval.Milliseconds
"   {0,-35} {1,20:N0}" -f "Total Number of Milliseconds:", \$Interval.TotalMilliseconds
"   {0,-35} {1,20:N0}" -f "Ticks:", \$Interval.Ticks

<# This sample produces the following output:

18/08/2010 13:30:30 - 01/01/2010 08:00:15 = 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
#>
``````

## Комментарии

Объект TimeSpan представляет интервал времени (продолжительность времени или время, прошедшее), измеряемый как положительное или отрицательное число дней, часов, минут, секунд и долей секунды.A TimeSpan object represents a time interval (duration of time or elapsed time) that is measured as a positive or negative number of days, hours, minutes, seconds, and fractions of a second. Структуру TimeSpan можно также использовать для представления времени суток, но только в том случае, если время не связано с определенной датой.The TimeSpan structure can also be used to represent the time of day, but only if the time is unrelated to a particular date. В противном случае вместо нее следует использовать структуру DateTime или DateTimeOffset.Otherwise, the DateTime or DateTimeOffset structure should be used instead. (Дополнительные сведения об использовании структуры TimeSpan для отражения времени суток см. в разделе Выбор между DateTime, DateTimeOffset, TimeSpan и TimeZoneInfo.)(For more information about using the TimeSpan structure to reflect the time of day, see Choosing Between DateTime, DateTimeOffset, TimeSpan, and TimeZoneInfo.)

Примечание

Значение TimeSpan представляет интервал времени и может быть выражено в виде определенного числа дней, часов, минут, секунд и миллисекунд.A TimeSpan value represents a time interval and can be expressed as a particular number of days, hours, minutes, seconds, and milliseconds. Поскольку он представляет общий интервал без ссылки на определенную начальную или конечную точку, он не может быть выражен в терминах лет и месяцев, оба из которых имеют переменное количество дней.Because it represents a general interval without reference to a particular start or end point, it cannot be expressed in terms of years and months, both of which have a variable number of days. Он отличается от значения DateTime, которое представляет дату и время без ссылки на определенный часовой пояс, или на DateTimeOffset значение, которое представляет определенный момент времени.It differs from a DateTime value, which represents a date and time without reference to a particular time zone, or a DateTimeOffset value, which represents a specific moment of time.

Самая большая единица времени, используемая структурой TimeSpan для измерения длительности, — это день.The largest unit of time that the TimeSpan structure uses 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.

Значение объекта TimeSpan — число тактов, равное представленному интервалу времени.The value of a TimeSpan object is the number of ticks that equal the represented time interval. Такт равен 100 наносекунд или 1 10-миллионная доля секунды.A tick is equal to 100 nanoseconds, or one ten-millionth of a second. Значение объекта TimeSpan может находиться в диапазоне от TimeSpan.MinValue до TimeSpan.MaxValue.The value of a TimeSpan object can range from TimeSpan.MinValue to TimeSpan.MaxValue.

### Создание экземпляра значения TimeSpanInstantiating a TimeSpan Value

Можно создать экземпляр TimeSpan значения несколькими способами.You can instantiate a TimeSpan value in a number of ways:

• Путем вызова его неявного конструктора без параметров.By calling its implicit parameterless constructor. При этом создается объект, значение которого TimeSpan.Zero, как показано в следующем примере.This creates an object whose value is TimeSpan.Zero, as the following example shows.

``````TimeSpan interval = new TimeSpan();
Console.WriteLine(interval.Equals(TimeSpan.Zero));    // Displays "True".
``````
``````Dim interval As New TimeSpan()
Console.WriteLine(interval.Equals(TimeSpan.Zero))     ' Displays "True".
``````
• Путем вызова одного из его явных конструкторов.By calling one of its explicit constructors. В следующем примере значение TimeSpan инициализируется заданным числом часов, минут и секунд.The following example initializes a TimeSpan value to a specified number of hours, minutes, and seconds.

``````TimeSpan interval = new TimeSpan(2, 14, 18);
Console.WriteLine(interval.ToString());

// Displays "02:14:18".
``````
``````Dim interval As New TimeSpan(2, 14, 18)
Console.WriteLine(interval.ToString())                ' Displays "02:14:18".
``````
• Путем вызова метода или выполнения операции, возвращающей TimeSpan значение.By calling a method or performing an operation that returns a TimeSpan value. Например, можно создать экземпляр TimeSpan значение, представляющее интервал между двумя значениями даты и времени, как показано в следующем примере.For example, you can instantiate a TimeSpan value that represents the interval between two date and time values, as the following example shows.

``````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
``````
``````Dim departure As DateTime = #06/12/2010 6:32PM#
Dim arrival As DateTime = #06/13/2010 10:47PM#
Dim travelTime As TimeSpan = 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
``````

Можно также инициализировать объект TimeSpan с нулевым значением времени, как показано в следующем примере.You can also initialize a TimeSpan object to a zero time value in this way, as the following example shows.

``````   Random rnd = new Random();

TimeSpan timeSpent = TimeSpan.Zero;

timeSpent += GetTimeBeforeLunch();
timeSpent += GetTimeAfterLunch();

Console.WriteLine("Total time: {0}", timeSpent);

TimeSpan GetTimeBeforeLunch()
{
return new TimeSpan(rnd.Next(3, 6), 0, 0);
}

TimeSpan GetTimeAfterLunch()
{
return new TimeSpan(rnd.Next(3, 6), 0, 0);
}

// The example displays output like the following:
//        Total time: 08:00:00
``````
``````Module Example
Dim rnd As New Random()

Public Sub Main()
Dim timeSpent As TimeSpan = TimeSpan.Zero

timeSpent += GetTimeBeforeLunch()
timeSpent += GetTimeAfterLunch()

Console.WriteLine("Total time: {0}", timeSpent)
End Sub

Private Function GetTimeBeforeLunch() As TimeSpan
Return New TimeSpan(rnd.Next(3, 6), 0, 0)
End Function

Private Function GetTimeAfterLunch() As TimeSpan
Return New TimeSpan(rnd.Next(3, 6), 0, 0)
End Function
End Module
' The example displays output like the following:
'       Total time: 08:00:00
``````

TimeSpan значения возвращаются арифметическими операторами и методами структур DateTime, DateTimeOffsetи TimeSpan.TimeSpan values are returned by arithmetic operators and methods of the DateTime, DateTimeOffset, and TimeSpan structures.

• Путем анализа строкового представления значения TimeSpan.By parsing the string representation of a TimeSpan value. Для преобразования строк, содержащих интервалы времени, в TimeSpan значения можно использовать методы Parse и TryParse.You can use the Parse and TryParse methods to convert strings that contain time intervals to TimeSpan values. В следующем примере используется метод Parse для преобразования массива строк в TimeSpan значения.The following example uses the Parse method to convert an array of strings to TimeSpan values.

``````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'
``````
``````Dim values() As String = { "12", "31.", "5.8:32:16", "12:12:15.95", ".12"}
For Each value As String In values
Try
Dim ts As TimeSpan = TimeSpan.Parse(value)
Console.WriteLine("'{0}' --> {1}", value, ts)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'", value)
Catch e As OverflowException
Console.WriteLine("'{0}' is outside the range of a TimeSpan.", value)
End Try
Next
' 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'
``````

Кроме того, можно определить точный формат входной строки, которую необходимо проанализировать и преобразовать в TimeSpan значение, вызвав метод ParseExact или TryParseExact.In addition, you can define the precise format of the input string to be parsed and converted to a TimeSpan value by calling the ParseExact or TryParseExact method.

### Выполнение операций с значениями TimeSpanPerforming Operations on TimeSpan Values

Можно добавлять и вычитать временные интервалы с помощью операторов Addition и Subtraction или путем вызова методов Add и Subtract.You can add and subtract time durations either by using the Addition and Subtraction operators, or by calling the Add and Subtract methods. Можно также сравнить две длительности времени, вызвав методы Compare, CompareToи Equals.You can also compare two time durations by calling the Compare, CompareTo, and Equals methods. Структура TimeSpan также включает методы Duration и Negate, которые преобразуют интервалы времени в положительные и отрицательные значения.The TimeSpan structure also includes the Duration and Negate methods, which convert time intervals to positive and negative values,

Диапазон значений TimeSpan MinValue MaxValue.The range of TimeSpan values is MinValue to MaxValue.

### Форматирование значения TimeSpanFormatting a TimeSpan Value

Значение TimeSpan может быть представлено как [-]d. чч:мм:СС. FF, где необязательный знак "минус" указывает на отрицательный интервал времени, компонент d — дни, чч — часы, измеряемые в 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. Это означает, что интервал времени состоит из положительного или отрицательного числа дней без времени суток или числа дней с временем суток или только времени суток.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.

Начиная с .NET Framework 4.NET Framework 4, структура TimeSpan поддерживает форматирование с учетом языка и региональных параметров с помощью перегрузок метода ToString, который преобразует значение TimeSpan в строковое представление.Beginning with the .NET Framework 4.NET Framework 4, the TimeSpan structure supports culture-sensitive formatting through the overloads of its ToString method, which converts a TimeSpan value to its string representation. Метод TimeSpan.ToString() по умолчанию возвращает интервал времени, используя инвариантный формат, идентичный возвращаемому значению в предыдущих версиях .NET Framework.The default TimeSpan.ToString() method returns a time interval by using an invariant format that is identical to its return value in previous versions of the .NET Framework. Перегрузка TimeSpan.ToString(String) позволяет указать строку формата, определяющую строковое представление интервала времени.The TimeSpan.ToString(String) overload lets you specify a format string that defines the string representation of the time interval. Перегрузка TimeSpan.ToString(String, IFormatProvider) позволяет указать строку формата и язык и региональные параметры, соглашения о форматировании которых используются для создания строкового представления интервала времени.The TimeSpan.ToString(String, IFormatProvider) overload lets you specify a format string and the culture whose formatting conventions are used to create the string representation of the time interval. TimeSpan поддерживает строки стандартного и пользовательского формата.TimeSpan supports both standard and custom format strings. (Дополнительные сведения см. в разделе строки стандартного формата TimeSpan и строки настраиваемого формата TimeSpan.) Однако только строки стандартного формата чувствительны к языку и региональным параметрам.(For more information, see Standard TimeSpan Format Strings and Custom TimeSpan Format Strings.) However, only standard format strings are culture-sensitive.

### Восстановление устаревшего форматирования TimeSpanRestoring Legacy TimeSpan Formatting

В некоторых случаях код, который успешно форматирует TimeSpan значения в .NET Framework 3,5.NET Framework 3.5 и более ранних версиях, завершается ошибкой .NET Framework 4.NET Framework 4.In some cases, code that successfully formats TimeSpan values in .NET Framework 3,5.NET Framework 3.5 and earlier versions fails in .NET Framework 4.NET Framework 4. Чаще всего это происходит в коде, который вызывает метод < TimeSpan_LegacyFormatMode > элемента для форматирования значения TimeSpan с помощью строки формата.This is most common in code that calls a <TimeSpan_LegacyFormatMode> element method to format a TimeSpan value with a format string. Следующий пример успешно форматирует TimeSpan значение в .NET Framework 3,5.NET Framework 3.5 и более ранних версиях, но вызывает исключение в .NET Framework 4.NET Framework 4 и более поздних версиях.The following example successfully formats a TimeSpan value in .NET Framework 3,5.NET Framework 3.5 and earlier versions, but throws an exception in .NET Framework 4.NET Framework 4 and later versions. Обратите внимание, что он пытается отформатировать TimeSpan значение с помощью неподдерживаемого описателя формата, который не учитывается в .NET Framework 3,5.NET Framework 3.5 и более ранних версиях.Note that it attempts to format a TimeSpan value by using an unsupported format specifier, which is ignored in .NET Framework 3,5.NET Framework 3.5 and earlier versions.

``````ShowFormattingCode();
// Output from .NET Framework 3.5 and earlier versions:
//       12:30:45
// Output from .NET Framework 4:
//       Invalid Format

Console.WriteLine("---");

ShowParsingCode();
// Output:
//       000000006 --> 6.00:00:00

void ShowFormattingCode()
{
TimeSpan interval = new TimeSpan(12, 30, 45);
string output;
try {
output = String.Format("{0:r}", interval);
}
catch (FormatException) {
output = "Invalid Format";
}
Console.WriteLine(output);
}

void ShowParsingCode()
{
string value = "000000006";
try {
TimeSpan interval = TimeSpan.Parse(value);
Console.WriteLine("{0} --> {1}", value, interval);
}
catch (FormatException) {
}
catch (OverflowException) {
Console.WriteLine("{0}: Overflow", value);
}
}
``````
``````Dim interval As New TimeSpan(12, 30, 45)
Dim output As String
Try
output = String.Format("{0:r}", interval)
Catch e As FormatException
output = "Invalid Format"
End Try
Console.WriteLine(output)
' Output from .NET Framework 3.5 and earlier versions:
'       12:30:45
' Output from .NET Framework 4:
'       Invalid Format
``````

Если не удается изменить код, можно восстановить устаревшее форматирование значений TimeSpan одним из следующих способов.If you cannot modify the code, you can restore the legacy formatting of TimeSpan values in one of the following ways:

• Путем создания файла конфигурации, содержащего элемент > TimeSpan_LegacyFormatMode <.By creating a configuration file that contains the <TimeSpan_LegacyFormatMode> element. Присвоение атрибуту `enabled` этого элемента значения `true` для каждого приложения восстанавливает устаревшее форматирование TimeSpan.Setting this element's `enabled` attribute to `true` restores legacy TimeSpan formatting on a per-application basis.

• Установив параметр совместимости "NetFx40_TimeSpanLegacyFormatMode" при создании домена приложения.By setting the "NetFx40_TimeSpanLegacyFormatMode" compatibility switch when you create an application domain. Это обеспечивает устаревшее форматирование TimeSpan для каждого домена приложения.This enables legacy TimeSpan formatting on a per-application-domain basis. В следующем примере создается домен приложения, использующий устаревшее TimeSpan форматирование.The following example creates an application domain that uses legacy TimeSpan formatting.

``````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");
}
}
``````
``````Module Example
Public Sub Main()
Dim appSetup As New AppDomainSetup()
appSetup.SetCompatibilitySwitches( { "NetFx40_TimeSpanLegacyFormatMode" } )
Dim legacyDomain As AppDomain = AppDomain.CreateDomain("legacyDomain",
Nothing, appSetup)
legacyDomain.ExecuteAssembly("ShowTimeSpan.exe")
End Sub
End Module
``````

Когда следующий код выполняется в новом домене приложения, он возвращается к поведению устаревшего TimeSpan форматирования.When the following code executes in the new application domain, it reverts to legacy TimeSpan formatting behavior.

``````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.
``````
``````Module Example
Public Sub Main()
Dim interval As TimeSpan = Date.Now - Date.Now.Date
Dim msg As String = String.Format("Elapsed Time Today: {0:d} hours.",
interval)
Console.WriteLine(msg)
End Sub
End Module
' The example displays output like the following:
'       Elapsed Time Today: 01:40:52.2524662 hours.
``````

## Конструкторы

 Инициализирует новый экземпляр структуры TimeSpan заданным количеством часов, минут и секунд.Initializes a new instance of the TimeSpan structure to a specified number of hours, minutes, and seconds. Инициализирует новый экземпляр структуры TimeSpan заданным количеством дней, часов, минут и секунд.Initializes a new instance of the TimeSpan structure to a specified number of days, hours, minutes, and seconds. Инициализирует новый экземпляр структуры TimeSpan заданным количеством дней, часов, минут, секунд и миллисекунд.Initializes a new instance of the TimeSpan structure to a specified number of days, hours, minutes, seconds, and milliseconds. Инициализирует новый экземпляр структуры TimeSpan заданным числом тактов.Initializes a new instance of the TimeSpan structure to the specified number of ticks.

## Поля

 Представляет максимальное значение TimeSpan.Represents the maximum TimeSpan value. Это поле доступно только для чтения.This field is read-only. Представляет минимальное значение TimeSpan.Represents the minimum TimeSpan value. Это поле доступно только для чтения.This field is read-only. Возвращает количество тактов в 1 сутках.Represents the number of ticks in 1 day. Это поле является константой.This field is constant. Представляет количество тактов в 1 часе.Represents the number of ticks in 1 hour. Это поле является константой.This field is constant. Возвращает количество тактов в 1 миллисекунде.Represents the number of ticks in 1 millisecond. Это поле является константой.This field is constant. Возвращает количество тактов в 1 минуте.Represents the number of ticks in 1 minute. Это поле является константой.This field is constant. Возвращает количество тактов в 1 секунде.Represents the number of ticks in 1 second. Представляет нулевое значение TimeSpan.Represents the zero TimeSpan value. Это поле доступно только для чтения.This field is read-only.

## Свойства

 Возвращает компонент дней периода времени, представленного текущей структурой TimeSpan.Gets the days component of the time interval represented by the current TimeSpan structure. Возвращает компонент часов периода времени, представленного текущей структурой TimeSpan.Gets the hours component of the time interval represented by the current TimeSpan structure. Возвращает компонент миллисекунд периода времени, представленного текущей структурой TimeSpan.Gets the milliseconds component of the time interval represented by the current TimeSpan structure. Возвращает компонент минут периода времени, представленного текущей структурой TimeSpan.Gets the minutes component of the time interval represented by the current TimeSpan structure. Возвращает компонент секунд периода времени, представленного текущей структурой TimeSpan.Gets the seconds component of the time interval represented by the current TimeSpan structure. Возвращает количество тактов, представляющее значение текущей структуры TimeSpan.Gets the number of ticks that represent the value of the current TimeSpan structure. Возвращает значение текущей структуры TimeSpan, выраженное как целое и дробное количество дней.Gets the value of the current TimeSpan structure expressed in whole and fractional days. Получает значение текущей структуры TimeSpan, выраженное как целое и дробное количество часов.Gets the value of the current TimeSpan structure expressed in whole and fractional hours. Получает значение текущей структуры TimeSpan, выраженное как целое и дробное количество миллисекунд.Gets the value of the current TimeSpan structure expressed in whole and fractional milliseconds. Возвращает значение текущей структуры TimeSpan, выраженное как целое и дробное количество минут.Gets the value of the current TimeSpan structure expressed in whole and fractional minutes. Возвращает значение текущей структуры TimeSpan, выраженное как целое и дробное количество секунд.Gets the value of the current TimeSpan structure expressed in whole and fractional seconds.

## Методы

 Возвращает новый объект TimeSpan, значение которого равно сумме указанного объекта TimeSpan и данного экземпляра.Returns a new TimeSpan object whose value is the sum of the specified TimeSpan object and this instance. Сравнивает два значения TimeSpan и возвращает целое значение, которое показывает, является ли первое значение короче, равно или длиннее второго значения.Compares two TimeSpan values and returns an integer that indicates whether the first value is shorter than, equal to, or longer than the second value. Сравнивает данный экземпляр с указанным объектом и возвращает целое число, которое показывает, как соотносится данный экземпляр с указанным объектом: короче него, равен ему или длиннее указанного объекта.Compares this instance to a specified object and returns an integer that indicates whether this instance is shorter than, equal to, or longer than the specified object. Сравнивает данный экземпляр с указанным объектом TimeSpan и возвращает целое число, которое показывает, как соотносится данный экземпляр с объектом TimeSpan: короче него, равен ему или длиннее указанного объекта.Compares this instance to a specified TimeSpan object and returns an integer that indicates whether this instance is shorter than, equal to, or longer than the TimeSpan object. Возвращает новый объект TimeSpan, значение которого является результатом деления данного экземпляра и указанного `divisor`.Returns a new TimeSpan object which value is the result of division of this instance and the specified `divisor`. Возвращает новое значение Double, которое является результатом деления данного экземпляра и указанного `ts`.Returns a new Double value which is the result of division of this instance and the specified `ts`. Возвращает новый объект TimeSpan, значением которого является абсолютное значение текущего объекта TimeSpan.Returns a new TimeSpan object whose value is the absolute value of the current TimeSpan object. Возвращает значение, показывающее, равен ли данный экземпляр заданному объекту.Returns a value indicating whether this instance is equal to a specified object. Возвращает значение, указывающее, равен ли данный экземпляр заданному объекту TimeSpan.Returns a value indicating whether this instance is equal to a specified TimeSpan object. Возвращает значение, указывающее, равны ли два заданных экземпляра TimeSpan.Returns a value that indicates whether two specified instances of TimeSpan are equal. Возвращает объект TimeSpan, представляющий заданное количество дней, округленное до ближайшей миллисекунды.Returns a TimeSpan that represents a specified number of days, where the specification is accurate to the nearest millisecond. Возвращает объект TimeSpan, представляющий указанное количество часов, округленное до ближайшей миллисекунды.Returns a TimeSpan that represents a specified number of hours, where the specification is accurate to the nearest millisecond. Возвращает объект TimeSpan, представляющий указанное количество миллисекунд.Returns a TimeSpan that represents a specified number of milliseconds. Возвращает объект TimeSpan, представляющий указанное количество минут, округленное до ближайшей миллисекунды.Returns a TimeSpan that represents a specified number of minutes, where the specification is accurate to the nearest millisecond. Возвращает объект TimeSpan, представляющий указанное количество секунд, округленное до ближайшей миллисекунды.Returns a TimeSpan that represents a specified number of seconds, where the specification is accurate to the nearest millisecond. Возвращает объект TimeSpan, представляющий заданное время в тактах.Returns a TimeSpan that represents a specified time, where the specification is in units of ticks. Возвращает хэш-код для данного экземпляра.Returns a hash code for this instance. Возвращает новый объект TimeSpan, значение которого является результатом умножения данного экземпляра и указанного `factor`.Returns a new TimeSpan object which value is the result of multiplication of this instance and the specified `factor`. Возвращает новый объект TimeSpan, значение которого равно значению данного экземпляра с противоположным знаком.Returns a new TimeSpan object whose value is the negated value of this instance. Преобразует представление диапазона интервала времени в его эквивалент TimeSpan, используя указанные сведения о форматировании, связанные с языком и региональными параметрами.Converts the span representation of a time interval to its TimeSpan equivalent by using the specified culture-specific format information. Преобразует строковое представление интервала времени в его эквивалент TimeSpan.Converts the string representation of a time interval to its TimeSpan equivalent. Преобразует строковое представление интервала времени в его эквивалент TimeSpan, используя указанные сведения о форматировании, связанные с языком и региональными параметрами.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified culture-specific format information. Преобразует диапазон символов интервала времени в его эквивалент TimeSpan, используя указанные формат и сведения о форматировании, связанные с языком и региональными параметрами.Converts the char span of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. Формат строкового представления должен полностью соответствовать заданному формату.The format of the string representation must match the specified format exactly. Преобразует строковое представление интервала времени в его эквивалент TimeSpan, используя указанные форматы, сведения о форматировании, связанные с языком и региональными параметрами, и стили.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles. Формат строкового представления должен полностью соответствовать одному из заданных форматов.The format of the string representation must match one of the specified formats exactly. Преобразует строковое представление интервала времени в его эквивалент TimeSpan, используя указанные формат и сведения о форматировании, связанные с языком и региональными параметрами.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. Формат строкового представления должен полностью соответствовать заданному формату.The format of the string representation must match the specified format exactly. Преобразует строковое представление интервала времени в его эквивалент TimeSpan, используя указанные формат, сведения о форматировании, связанные с языком и региональными параметрами, и стили.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles. Формат строкового представления должен полностью соответствовать заданному формату.The format of the string representation must match the specified format exactly. Преобразует строковое представление интервала времени в его эквивалент TimeSpan, используя указанный массив строк форматирования и сведения о форматировании, связанные с языком и региональными параметрами.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified array of format strings and culture-specific format information. Формат строкового представления должен полностью соответствовать одному из заданных форматов.The format of the string representation must match one of the specified formats exactly. Преобразует строковое представление интервала времени в его эквивалент TimeSpan, используя указанные форматы, сведения о форматировании, связанные с языком и региональными параметрами, и стили.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles. Формат строкового представления должен полностью соответствовать одному из заданных форматов.The format of the string representation must match one of the specified formats exactly. Возвращает новый объект TimeSpan, значение которого равно разности между указанным объектом TimeSpan и данным экземпляром.Returns a new TimeSpan object whose value is the difference between the specified TimeSpan object and this instance. Преобразует значение текущего объекта TimeSpan в эквивалентное ему строковое представление.Converts the value of the current TimeSpan object to its equivalent string representation. Преобразует значение текущего объекта TimeSpan в эквивалентное ему строковое представление с использованием заданного формата.Converts the value of the current TimeSpan object to its equivalent string representation by using the specified format. Преобразует числовое значение текущего объекта TimeSpan в эквивалентное ему строковое представление с использованием указанного формата и сведений об особенностях форматирования для данного языка и региональных параметров.Converts the value of the current TimeSpan object to its equivalent string representation by using the specified format and culture-specific formatting information. Пытается форматировать значение текущего экземпляра числа временного диапазона в указанный диапазон символов.Tries to format the value of the current timespan number instance into the provided span of characters. Преобразует представление диапазона интервала времени в его эквивалент TimeSpan, используя указанную информацию о форматировании, связанную с языком и региональными параметрами, и возвращает значение, которое показывает успешность преобразования.Converts the span representation of a time interval to its TimeSpan equivalent by using the specified culture-specific formatting information, and returns a value that indicates whether the conversion succeeded. Преобразует представление диапазона интервала времени в его эквивалент TimeSpan и возвращает значение, позволяющее определить успешность преобразования.Converts the span representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded. Преобразовывает заданное строковое представление интервала времени в его эквивалент TimeSpan, используя указанную информацию о форматировании, связанную с языком и региональными параметрами, и возвращает значение, которое показывает успешность преобразования.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified culture-specific formatting information, and returns a value that indicates whether the conversion succeeded. Преобразовывает строковое представление интервала времени в его эквивалент TimeSpan и возвращает значение, позволяющее определить успешность преобразования.Converts the string representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded. Преобразует указанное представление диапазона интервала времени в его эквивалент TimeSpan, используя указанные формат и сведения о форматировании, связанные с языком и региональными параметрами.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. Формат строкового представления должен полностью соответствовать заданному формату.The format of the string representation must match the specified format exactly. Преобразует заданное представление диапазона интервала времени в его эквивалент TimeSpan, используя указанные форматы, информацию о форматировании, связанную с языком и региональными параметрами, и стили, и возвращает значение, которое показывает успешность преобразования.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. Формат строкового представления должен полностью соответствовать заданному формату.The format of the string representation must match the specified format exactly. Преобразует указанное представление диапазона интервала времени в его эквивалент TimeSpan, используя указанные форматы и сведения о форматировании, связанные с языком и региональными параметрами.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified formats and culture-specific format information. Формат строкового представления должен полностью соответствовать одному из заданных форматов.The format of the string representation must match one of the specified formats exactly. Преобразует указанное представление диапазона интервала времени в его эквивалент TimeSpan, используя указанные форматы, сведения о форматировании, связанные с языком и региональными параметрами, и стили.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information and styles. Формат строкового представления должен полностью соответствовать одному из заданных форматов.The format of the string representation must match one of the specified formats exactly. Преобразует строковое представление интервала времени в его эквивалент TimeSpan, используя указанные формат и сведения о форматировании, связанные с языком и региональными параметрами.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. Формат строкового представления должен полностью соответствовать заданному формату.The format of the string representation must match the specified format exactly. Преобразует строковое представление интервала времени в его эквивалент TimeSpan, используя указанные формат, сведения о форматировании, связанные с языком и региональными параметрами, и стили.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information and styles. Формат строкового представления должен полностью соответствовать заданному формату.The format of the string representation must match the specified format exactly. Преобразует указанное строковое представление интервала времени в его эквивалент TimeSpan, используя указанные форматы и сведения о форматировании, связанные с языком и региональными параметрами.Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats and culture-specific format information. Формат строкового представления должен полностью соответствовать одному из заданных форматов.The format of the string representation must match one of the specified formats exactly. Преобразует указанное строковое представление интервала времени в его эквивалент TimeSpan, используя указанные форматы, сведения о форматировании, связанные с языком и региональными параметрами, и стили.Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information and styles. Формат строкового представления должен полностью соответствовать одному из заданных форматов.The format of the string representation must match one of the specified formats exactly.

## Операторы

 Складывает два указанных экземпляра TimeSpan.Adds two specified TimeSpan instances. Возвращает новый объект TimeSpan, значение которого является результатом деления экземпляра `timeSpan` и указанного `divisor`.Returns a new TimeSpan object which value is the result of division of `timeSpan` instance and the specified `divisor`. Возвращает новое значение Double, которое является результатом деления экземпляра `t1` и указанного `t2`.Returns a new Double value which is the result of division of `t1` instance and the specified `t2`. Указывает, равны ли два экземпляра TimeSpan.Indicates whether two TimeSpan instances are equal. Показывает, является ли заданное значение TimeSpan большим, чем другое заданное значение TimeSpan.Indicates whether a specified TimeSpan is greater than another specified TimeSpan. Показывает, является ли заданное значение TimeSpan большим или равным другому заданному значению TimeSpan.Indicates whether a specified TimeSpan is greater than or equal to another specified TimeSpan. Показывает, являются ли два экземпляра TimeSpan неравными.Indicates whether two TimeSpan instances are not equal. Показывает, является ли заданное значение TimeSpan меньшим, чем другое заданное значение TimeSpan.Indicates whether a specified TimeSpan is less than another specified TimeSpan. Показывает, является ли заданное значение TimeSpan меньшим или равным другому заданному значению TimeSpan.Indicates whether a specified TimeSpan is less than or equal to another specified TimeSpan. Возвращает новый объект TimeSpan, значение которого является результатом умножения указанного `factor` и указанного экземпляра `timeSpan`.Returns a new TimeSpan object whose value is the result of multiplying the specified `factor` and the specified `timeSpan` instance. Возвращает новый объект TimeSpan, значение которого является результатом умножения указанного экземпляра `timeSpan` и указанного `factor`.Returns a new TimeSpan object whose value is the result of multiplying the specified `timeSpan` instance and the specified `factor`. Вычитает указанный объект TimeSpan из другого указанного объекта TimeSpan.Subtracts a specified TimeSpan from another specified TimeSpan. Возвращает объект TimeSpan со значением, равным значению данного экземпляра с противоположным знаком.Returns a TimeSpan whose value is the negated value of the specified instance. Возвращает указанный экземпляр TimeSpan.Returns the specified instance of TimeSpan.

## Явные реализации интерфейса

 Сравнивает данный экземпляр с указанным объектом и возвращает целое число, которое показывает, как соотносится данный экземпляр с указанным объектом: короче него, равен ему или длиннее указанного объекта.Compares this instance to a specified object and returns an integer that indicates whether this instance is shorter than, equal to, or longer than the specified object.