내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

TimeSpan 구조체

시간 간격을 나타냅니다.

네임스페이스:  System
어셈블리:  mscorlib(mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct TimeSpan : IComparable, IComparable<TimeSpan>, 
	IEquatable<TimeSpan>, IFormattable

TimeSpan 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TimeSpan(Int64) TimeSpan 구조체의 새 인스턴스를 지정된 틱 수로 초기화합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TimeSpan(Int32, Int32, Int32) TimeSpan 구조체의 새 인스턴스를 지정된 시, 분 및 초로 초기화합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TimeSpan(Int32, Int32, Int32, Int32) TimeSpan 구조체의 새 인스턴스를 지정된 일, 시, 분 및 초로 초기화합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TimeSpan(Int32, Int32, Int32, Int32, Int32) TimeSpan 구조체의 새 인스턴스를 지정된 일, 시, 분, 초 및 밀리초로 초기화합니다.
위쪽

  이름설명
Public 속성XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Days현재 TimeSpan 구조체가 나타내는 시간 간격의 일 구성 요소를 가져옵니다.
Public 속성XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Hours현재 TimeSpan 구조가 나타내는 시간 간격의 시간 구성 요소를 가져옵니다.
Public 속성XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Milliseconds현재 TimeSpan 구조가 나타내는 시간 간격의 밀리초 구성 요소를 가져옵니다.
Public 속성XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Minutes현재 TimeSpan 구조가 나타내는 시간 간격의 분 구성 요소를 가져옵니다.
Public 속성XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Seconds현재 TimeSpan 구조가 나타내는 시간 간격의 초 구성 요소를 가져옵니다.
Public 속성XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Ticks현재 TimeSpan 구조체의 값을 나타내는 틱 수를 가져옵니다.
Public 속성XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TotalDays일의 정수 부분과 소수 부분으로 표시된 현재 TimeSpan 구조체의 값을 가져옵니다.
Public 속성XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TotalHours시간의 정수 부분과 소수 부분으로 표시된 현재 TimeSpan 구조체의 값을 가져옵니다.
Public 속성XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TotalMilliseconds밀리초의 정수 부분과 소수 부분으로 표시된 현재 TimeSpan 구조체의 값을 가져옵니다.
Public 속성XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TotalMinutes분의 정수 부분과 소수 부분으로 표시된 현재 TimeSpan 구조체의 값을 가져옵니다.
Public 속성XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TotalSeconds초의 정수 부분과 소수 부분으로 표시된 현재 TimeSpan 구조체의 값을 가져옵니다.
위쪽

  이름설명
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Add지정된 TimeSpan 개체와 이 인스턴스의 합을 값으로 가지는 새 TimeSpan 개체를 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원CompareTimeSpan 값을 비교하고 첫째 값이 둘째 값보다 짧은지, 같은지 또는 긴지를 나타내는 정수를 반환합니다.
Public 메서드XNA Framework에서 지원CompareTo(Object)이 인스턴스를 지정된 개체와 비교하고 이 인스턴스가 지정된 개체보다 짧은지, 같은지 또는 긴지를 나타내는 정수를 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원CompareTo(TimeSpan)이 인스턴스를 지정된 TimeSpan 개체와 비교하고 이 인스턴스가 TimeSpan 짧은지, 같은지 또는 긴지를 나타내는 정수를 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Duration해당 값이 현재 TimeSpan 개체의 절대 값인 새 TimeSpan 개체를 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(Object)이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (ValueType.Equals(Object)을(를) 재정의함)
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(TimeSpan)이 인스턴스가 지정된 TimeSpan 개체와 같은지 여부를 나타내는 값을 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(TimeSpan, TimeSpan)지정된 TimeSpan의 두 인스턴스가 같은지 여부를 나타내는 값을 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원FromDays지정된 일 수를 나타내는 TimeSpan을 반환합니다. 여기에서 지정된 값은 밀리초 단위로 반올림됩니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원FromHours지정된 시간(시)을 나타내는 TimeSpan을 반환합니다. 여기에서 지정된 값은 밀리초 단위로 반올림됩니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원FromMilliseconds지정된 시간(밀리초)을 나타내는 TimeSpan을 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원FromMinutes지정된 시간(분)을 나타내는 TimeSpan을 반환합니다. 여기에서 지정된 값은 밀리초 단위로 반올림됩니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원FromSeconds지정된 시간(초)을 나타내는 TimeSpan을 반환합니다. 여기에서 지정된 값은 밀리초 단위로 반올림됩니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원FromTicks지정된 시간을 나타내는 TimeSpan을 반환합니다. 여기에서 시간은 틱 단위로 지정됩니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GetHashCode이 인스턴스의 해시 코드를 반환합니다. (ValueType.GetHashCode()을(를) 재정의함)
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Negate이 인스턴스의 부정 값을 값으로 가지는 새 TimeSpan 개체를 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Parse(String)시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Parse(String, IFormatProvider)지정된 문화권별 형식 정보를 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ParseExact(String, String, IFormatProvider)지정된 형식 및 문화권별 형식 정보를 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다. 문자열 표현의 형식이 지정된 형식과 정확하게 일치해야 합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ParseExact(String, String[], IFormatProvider)지정된 형식 문자열 배열 및 문화권별 형식 정보를 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다. 문자열 표시의 형식은 지정된 형식 중 하나와 정확히 일치해야 합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ParseExact(String, String, IFormatProvider, TimeSpanStyles)지정된 형식, 문화권별 형식 정보 및 스타일을 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다. 문자열 표현의 형식이 지정된 형식과 정확하게 일치해야 합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ParseExact(String, String[], IFormatProvider, TimeSpanStyles)지정된 형식, 문화권별 형식 정보 및 스타일을 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다. 문자열 표시의 형식은 지정된 형식 중 하나와 정확히 일치해야 합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Subtract지정된 TimeSpan 개체와 이 인스턴스의 차를 값으로 가지는 새 TimeSpan 개체를 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToString()현재 TimeSpan 개체의 값을 해당하는 문자열 표현으로 변환합니다. (ValueType.ToString()을(를) 재정의함)
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToString(String)지정된 형식을 사용하여 현재 TimeSpan 개체의 값을 해당하는 문자열 표현으로 변환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToString(String, IFormatProvider)지정된 형식과 문화권별 형식 정보를 사용하여 현재 TimeSpan 개체의 값을 해당 문자열 표현으로 변환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TryParse(String, TimeSpan)시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TryParse(String, IFormatProvider, TimeSpan)지정된 문화권별 형식 정보를 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TryParseExact(String, String, IFormatProvider, TimeSpan)지정된 형식 및 문화권별 형식 정보를 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다. 문자열 표현의 형식이 지정된 형식과 정확하게 일치해야 합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TryParseExact(String, String[], IFormatProvider, TimeSpan)지정된 형식, 문화권별 형식 정보를 사용하여 시간 간격에 대한 지정된 문자열 표현을 해당 TimeSpan으로 변환하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다. 문자열 표시의 형식은 지정된 형식 중 하나와 정확히 일치해야 합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan)지정된 형식, 문화권별 형식 정보 및 스타일을 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다. 문자열 표현의 형식이 지정된 형식과 정확하게 일치해야 합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan)지정된 형식, 문화권별 형식 정보 및 스타일을 사용하여 시간 간격에 대한 지정된 문자열 표현을 해당 TimeSpan으로 변환하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다. 문자열 표시의 형식은 지정된 형식 중 하나와 정확히 일치해야 합니다.
위쪽

  이름설명
Public 연산자정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Addition지정된 두 개의 TimeSpan 인스턴스를 추가합니다.
Public 연산자정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equality두 개의 TimeSpan 인스턴스가 같은지 여부를 나타냅니다.
Public 연산자정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GreaterThan지정된 TimeSpan이 지정된 다른 TimeSpan보다 큰지 여부를 나타냅니다.
Public 연산자정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GreaterThanOrEqual지정된 TimeSpan이 지정된 다른 TimeSpan보다 크거나 같은지 여부를 나타냅니다.
Public 연산자정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Inequality두 개의 TimeSpan 인스턴스가 같지 않은지 여부를 나타냅니다.
Public 연산자정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LessThan지정된 TimeSpan이 지정된 다른 TimeSpan보다 작은지 여부를 나타냅니다.
Public 연산자정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LessThanOrEqual지정된 TimeSpan이 지정된 다른 TimeSpan보다 작거나 같은지 여부를 나타냅니다.
Public 연산자정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Subtraction지정된 TimeSpan을 지정된 다른 TimeSpan에서 뺍니다.
Public 연산자정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원UnaryNegation지정된 인스턴스의 부정 값을 값으로 가지는 TimeSpan을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원UnaryPlus TimeSpan 의 지정된 인스턴스를 반환합니다.
위쪽

  이름설명
Public 필드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원MaxValue최대 TimeSpan 값을 나타냅니다. 이 필드는 읽기 전용입니다.
Public 필드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원MinValue최소 TimeSpan 값을 나타냅니다. 이 필드는 읽기 전용입니다.
Public 필드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TicksPerDay하루 동안의 틱 수를 나타냅니다. 이 필드는 상수입니다.
Public 필드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TicksPerHour한 시간 동안의 틱 수를 나타냅니다. 이 필드는 상수입니다.
Public 필드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TicksPerMillisecond1밀리초 동안의 틱 수를 나타냅니다. 이 필드는 상수입니다.
Public 필드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TicksPerMinute1분 동안의 틱 수를 나타냅니다. 이 필드는 상수입니다.
Public 필드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TicksPerSecond1초 동안의 틱 수를 나타냅니다.
Public 필드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Zero0 TimeSpan 값을 나타냅니다. 이 필드는 읽기 전용입니다.
위쪽

  이름설명
명시적 인터페이스 구현Private 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IComparable.CompareTo현재 인스턴스와 동일한 형식의 다른 개체를 비교하고 정렬 순서에서 현재 인스턴스의 위치가 다른 개체보다 앞인지, 뒤인지 또는 동일한지를 나타내는 정수를 반환합니다.
위쪽

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. The TimeSpan structure can also be used to represent the time of day, but only if the time is unrelated to a particular date. Otherwise, the DateTime or DateTimeOffset structure should be used instead. (For more information about using the TimeSpan structure to reflect the time of day, see DateTime, DateTimeOffset 및 TimeZoneInfo 중 선택.)

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.

The value of a TimeSpan object is the number of ticks that equal the represented time interval. A tick is equal to 100 nanoseconds, or one ten-millionth of a second. The value of a TimeSpan object can range from TimeSpan.MinValue to TimeSpan.MaxValue.

Instantiating a TimeSpan Value

You can instantiate a TimeSpan value in a number of ways:

  • By calling its implicit default constructor. 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".
    
    
    
  • By calling one of its explicit constructors. 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".
    
    
    
  • By calling a method or performing an operation that returns a TimeSpan value. 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
    
    
    

    You can also initialize a TimeSpan object to a zero time value in this way, as the following example shows.

    
    using System;
    
    public class Example
    {
       static Random rnd = new Random();
    
       public static void Main()
       {
          TimeSpan timeSpent = TimeSpan.Zero;
    
          timeSpent += GetTimeBeforeLunch();
          timeSpent += GetTimeAfterLunch();
    
          Console.WriteLine("Total time: {0}", timeSpent);
       }
    
       private static TimeSpan GetTimeBeforeLunch()
       {
          return new TimeSpan(rnd.Next(3, 6), 0, 0);
       }
    
       private static TimeSpan GetTimeAfterLunch()
       {
          return new TimeSpan(rnd.Next(3, 6), 0, 0);
       }
    }
    // The example displays output like the following:
    //        Total time: 08:00:00
    
    
    

    TimeSpan values are returned by arithmetic operators and methods of the DateTime, DateTimeOffset, and TimeSpan structures.

  • By parsing the string representation of a TimeSpan value. You can use the Parse and TryParse methods to convert strings that contain time intervals to TimeSpan values. 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'  
    
    
    

    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.

Performing Operations on TimeSpan Values

You can add and subtract time durations either by using the Addition and Subtraction operators, or by calling the Add and Subtract methods. You can also compare two time durations by calling the Compare, CompareTo, and Equals methods. The TimeSpan class also includes the Duration and Negate methods, which convert time intervals to positive and negative values,

The range of TimeSpan values is MinValue to MaxValue.

Formatting a TimeSpan Value

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.

Beginning with the .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. 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. The TimeSpan.ToString(String) overload lets you specify a format string that defines the string representation of the time interval. 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 supports both standard and custom format strings. (For more information, see 표준 TimeSpan 서식 문자열 and 사용자 지정 TimeSpan 서식 문자열.) However, only standard format strings are culture-sensitive.

Restoring Legacy TimeSpan Formatting

In some cases, code that successfully formats TimeSpan values in .NET Framework 3.5 and earlier versions fails in .NET Framework 4. This is most common in code that calls a composite formatting method to format a TimeSpan value with a format string. The following example successfully formats a TimeSpan value in .NET Framework 3.5 and earlier versions, but throws an exception in .NET Framework 4 and later versions. Note that it attempts to format a TimeSpan value by using an unsupported format specifier, which is ignored in .NET Framework 3.5 and earlier versions.


TimeSpan interval = new TimeSpan(12, 30, 45);
string output;
try {
   output = String.Format("{0:r}", interval);
}
catch (FormatException) {
   output = "Invalid Format";
}
Console.WriteLine(output);
// Output from .NET Framework 3.5 and earlier versions:
//       12:30:45
// Output from .NET Framework 4:
//       Invalid Format


If you cannot modify the code, you can restore the legacy formatting of TimeSpan values in one of the following ways:

  • By creating a configuration file that contains the <TimeSpan_LegacyFormatMode> element. Setting this element's enabled attribute to true restores legacy TimeSpan formatting on a per-application basis.

  • By setting the "NetFx40_TimeSpanLegacyFormatMode" compatibility switch when you create an application domain. This enables legacy TimeSpan formatting on a per-application-domain basis. 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");
       }
    }
    
    
    

    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.
    
    
    

The following example instantiates a TimeSpan object that represents the difference between two dates. It then displays the TimeSpan object's properties.


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


.NET Framework

4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

이식 가능한 클래스 라이브러리

이식 가능한 클래스 라이브러리에서 지원

Windows 스토어 앱용 .NET

Windows 8에서 지원

Windows Phone 앱용 .NET

Windows Phone 8, Silverlight 8.1에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft