정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

TimeSpan 구조체

2013-12-13

시간 간격을 나타냅니다.

Namespace:  System
어셈블리:  mscorlib(mscorlib.dll)

public struct TimeSpan : IComparable, IComparable<TimeSpan>, 
	IEquatable<TimeSpan>, IFormattable

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

  이름설명
Public 메서드TimeSpan(Int64)TimeSpan을 지정된 틱 수로 초기화합니다.
Public 메서드TimeSpan(Int32, Int32, Int32)TimeSpan을 지정된 시, 분 및 초로 초기화합니다.
Public 메서드TimeSpan(Int32, Int32, Int32, Int32)TimeSpan을 지정된 일, 시, 분 및 초로 초기화합니다.
Public 메서드TimeSpan(Int32, Int32, Int32, Int32, Int32)TimeSpan을 지정된 일, 시, 분, 초 및 밀리초로 초기화합니다.
맨 위

  이름설명
Public 속성Days현재 TimeSpan 구조가 나타내는 시간 간격의 일 구성 요소를 가져옵니다.
Public 속성Hours현재 TimeSpan 구조체가 나타내는 시간 간격의 시간 구성 요소를 가져옵니다.
Public 속성Milliseconds현재 TimeSpan 구조체가 나타내는 시간 간격의 밀리초 구성 요소를 가져옵니다.
Public 속성Minutes현재 TimeSpan 구조체가 나타내는 시간 간격의 분 구성 요소를 가져옵니다.
Public 속성Seconds현재 TimeSpan 구조체가 나타내는 시간 간격의 초 구성 요소를 가져옵니다.
Public 속성Ticks현재 TimeSpan 구조체의 값을 나타내는 틱 수를 가져옵니다.
Public 속성TotalDays일의 정수 부분과 소수 부분으로 표시된 현재 TimeSpan 구조체의 값을 가져옵니다.
Public 속성TotalHours시간의 정수 부분과 소수 부분으로 표시된 현재 TimeSpan 구조체의 값을 가져옵니다.
Public 속성TotalMilliseconds밀리초의 정수 부분과 소수 부분으로 표시된 현재 TimeSpan 구조체의 값을 가져옵니다.
Public 속성TotalMinutes분의 정수 부분과 소수 부분으로 표시된 현재 TimeSpan 구조체의 값을 가져옵니다.
Public 속성TotalSeconds초의 정수 부분과 소수 부분으로 표시된 현재 TimeSpan 구조체의 값을 가져옵니다.
맨 위

  이름설명
Public 메서드Add지정된 TimeSpan 개체와 이 인스턴스의 합을 값으로 가지는 새 TimeSpan 개체를 반환합니다.
Public 메서드정적 멤버CompareTimeSpan 값을 비교하고 첫째 시간 간격이 둘째 시간 간격보다 긴지, 같은지 또는 짧은지를 나타내는 정수를 반환합니다.
Public 메서드CompareTo(Object)이 인스턴스를 지정한 개체와 비교하고 이 인스턴스가 지정된 개체에서 나타내는 시간 간격보다 더 길거나 짧은지 또는 서로 같은지 나타내는 정수를 반환합니다.
Public 메서드CompareTo(TimeSpan)이 인스턴스를 지정된 TimeSpan 개체와 비교하고 이 인스턴스가 나타내는 시간 간격이 지정된 TimeSpan 개체가 나타내는 시간 간격보다 긴지, 같은지 또는 짧은지를 나타내는 정수를 반환합니다.
Public 메서드Duration해당 값이 현재 TimeSpan 개체의 절대 값인 새 TimeSpan 개체를 반환합니다.
Public 메서드Equals(Object)이 인스턴스가 지정한 개체와 같은지 여부를 나타내는 값을 반환합니다. (ValueType.Equals(Object)을(를) 재정의함)
Public 메서드Equals(TimeSpan)이 인스턴스가 지정된 TimeSpan 개체와 같은지 여부를 나타내는 값을 반환합니다.
Public 메서드정적 멤버Equals(TimeSpan, TimeSpan)지정된 TimeSpan의 두 인스턴스가 같은지 여부를 나타내는 값을 반환합니다.
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드정적 멤버FromDays지정된 일 수를 나타내는 TimeSpan을 반환합니다. 여기에서 지정된 값은 밀리초 단위로 반올림됩니다.
Public 메서드정적 멤버FromHours지정된 시간(시)을 나타내는 TimeSpan을 반환합니다. 여기에서 지정된 값은 밀리초 단위로 반올림됩니다.
Public 메서드정적 멤버FromMilliseconds지정된 시간(밀리초)을 나타내는 TimeSpan을 반환합니다.
Public 메서드정적 멤버FromMinutes지정된 시간(분)을 나타내는 TimeSpan을 반환합니다. 여기에서 지정된 값은 밀리초 단위로 반올림됩니다.
Public 메서드정적 멤버FromSeconds지정된 시간(초)을 나타내는 TimeSpan을 반환합니다. 여기에서 지정된 값은 밀리초 단위로 반올림됩니다.
Public 메서드정적 멤버FromTicks지정된 시간을 나타내는 TimeSpan을 반환합니다. 여기에서 시간은 틱 단위로 지정됩니다.
Public 메서드GetHashCode이 인스턴스의 해시 코드를 반환합니다. (ValueType.GetHashCode()을(를) 재정의함)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드Negate이 인스턴스의 부정 값을 값으로 가지는 새 TimeSpan을 반환합니다.
Public 메서드정적 멤버Parse(String)시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다.
Public 메서드정적 멤버Parse(String, IFormatProvider)지정된 문화권별 형식 정보를 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다.
Public 메서드정적 멤버ParseExact(String, String, IFormatProvider)지정된 형식 및 문화권별 형식 정보를 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다. 문자열 표현의 형식이 지정된 형식과 정확하게 일치해야 합니다.
Public 메서드정적 멤버ParseExact(String, String[], IFormatProvider)지정된 형식 문자열 배열 및 문화권별 형식 정보를 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다. 문자열 표시의 형식은 지정된 형식 중 하나와 정확히 일치해야 합니다.
Public 메서드정적 멤버ParseExact(String, String, IFormatProvider, TimeSpanStyles)지정된 형식, 문화권별 형식 정보 및 스타일을 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다. 문자열 표현의 형식이 지정된 형식과 정확하게 일치해야 합니다.
Public 메서드정적 멤버ParseExact(String, String[], IFormatProvider, TimeSpanStyles)지정된 형식, 문화권별 형식 정보 및 스타일을 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다. 문자열 표시의 형식은 지정된 형식 중 하나와 정확히 일치해야 합니다.
Public 메서드Subtract지정된 TimeSpan 개체와 이 인스턴스의 차이를 값으로 가지는 새 TimeSpan 개체를 반환합니다.
Public 메서드ToString()현재 TimeSpan 개체의 값을 해당하는 문자열 표현으로 변환합니다. (ValueType.ToString()을(를) 재정의함)
Public 메서드ToString(String)지정된 형식을 사용하여 현재 TimeSpan 개체의 값을 해당하는 문자열 표현으로 변환합니다.
Public 메서드ToString(String, IFormatProvider)지정된 형식과 문화권별 형식 정보를 사용하여 현재 TimeSpan 개체의 값을 해당 문자열 표현으로 변환합니다.
Public 메서드정적 멤버TryParse(String, TimeSpan)시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다.
Public 메서드정적 멤버TryParse(String, IFormatProvider, TimeSpan)지정된 문화권별 형식 정보를 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다.
Public 메서드정적 멤버TryParseExact(String, String, IFormatProvider, TimeSpan)지정된 형식 및 문화권별 형식 정보를 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다. 문자열 표현의 형식이 지정된 형식과 정확하게 일치해야 합니다.
Public 메서드정적 멤버TryParseExact(String, String[], IFormatProvider, TimeSpan)지정된 형식, 문화권별 형식 정보를 사용하여 시간 간격에 대한 지정된 문자열 표현을 해당 TimeSpan으로 변환하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다. 문자열 표시의 형식은 지정된 형식 중 하나와 정확히 일치해야 합니다.
Public 메서드정적 멤버TryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan)지정된 형식, 문화권별 형식 정보 및 스타일을 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다. 문자열 표현의 형식이 지정된 형식과 정확하게 일치해야 합니다.
Public 메서드정적 멤버TryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan)지정된 형식, 문화권별 형식 정보 및 스타일을 사용하여 시간 간격에 대한 지정된 문자열 표현을 해당 TimeSpan으로 변환하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다. 문자열 표시의 형식은 지정된 형식 중 하나와 정확히 일치해야 합니다.
맨 위

  이름설명
Public 연산자정적 멤버Addition지정된 두 개의 TimeSpan 인스턴스를 추가합니다.
Public 연산자정적 멤버Equality두 개의 TimeSpan 인스턴스가 같은지 여부를 나타냅니다.
Public 연산자정적 멤버GreaterThan지정된 TimeSpan이 지정된 다른 TimeSpan보다 큰지 여부를 나타냅니다.
Public 연산자정적 멤버GreaterThanOrEqual지정된 TimeSpan이 지정된 다른 TimeSpan보다 크거나 같은지 여부를 나타냅니다.
Public 연산자정적 멤버Inequality두 개의 TimeSpan 인스턴스가 같지 않은지 여부를 나타냅니다.
Public 연산자정적 멤버LessThan지정된 TimeSpan이 지정된 다른 TimeSpan보다 작은지 여부를 나타냅니다.
Public 연산자정적 멤버LessThanOrEqual지정된 TimeSpan이 지정된 다른 TimeSpan보다 작거나 같은지 여부를 나타냅니다.
Public 연산자정적 멤버Subtraction지정된 TimeSpan을 지정된 다른 TimeSpan에서 뺍니다.
Public 연산자정적 멤버UnaryNegation지정된 인스턴스의 부정 값을 값으로 가지는 TimeSpan을 반환합니다.
Public 연산자정적 멤버UnaryPlusTimeSpan의 지정된 인스턴스를 반환합니다.
맨 위

  이름설명
Public 필드정적 멤버MaxValue최대 TimeSpan 값을 나타냅니다. 이 필드는 읽기 전용입니다.
Public 필드정적 멤버MinValue최소 TimeSpan 값을 나타냅니다. 이 필드는 읽기 전용입니다.
Public 필드정적 멤버TicksPerDay하루 동안의 틱 수를 나타냅니다. 이 필드는 상수입니다.
Public 필드정적 멤버TicksPerHour한 시간 동안의 틱 수를 나타냅니다. 이 필드는 상수입니다.
Public 필드정적 멤버TicksPerMillisecond1밀리초 동안의 틱 수를 나타냅니다. 이 필드는 상수입니다.
Public 필드정적 멤버TicksPerMinute1분 동안의 틱 수를 나타냅니다. 이 필드는 상수입니다.
Public 필드정적 멤버TicksPerSecond1초 동안의 틱 수를 나타냅니다.
Public 필드정적 멤버Zero0 TimeSpan 값을 나타냅니다. 이 필드는 읽기 전용입니다.
맨 위

TimeSpan 개체는 양수 또는 음수의 일, 시, 분, 초 및 초의 소수 부분 단위로 측정된 시간 간격(기간 또는 경과시간)을 나타냅니다. TimeSpan 구조는 시간이 특정 날짜와 관련이 없는 경우에만 한하여 또한 날짜의 시간을 표시하는 데 사용될 수 있습니다. 그렇지 않으면, DateTime 또는 DateTimeOffset 구조체를 대신 사용해야 합니다.

기간을 측정하는 데 사용하는 최대 시간 단위는 일입니다. 월과 년과 같은 시간 단위에서는 일 수가 변하기 때문에 일관성을 위해 시간 간격은 일 단위로 측정됩니다.

TimeSpan 개체의 값은 표시된 시간 간격과 동일한 틱 수입니다. 틱 하나는 100나노초이며 TimeSpan 개체 값의 범위는 TimeSpan.MinValue에서 TimeSpan.MaxValue까지입니다.

TimeSpan 값 인스턴스화

TimeSpan 값은 여러 가지 방법으로 인스턴스화할 수 있습니다.

  • 그것의 암시적 기본 생성자를 호출합니다. 다음 예제와 같이 TimeSpan.Zero라는 값을 가진 개체를 만듭니다.

    
    TimeSpan interval = new TimeSpan();
    outputBlock.Text += interval.Equals(TimeSpan.Zero) + "\n";    // Displays "True".
    
    
    
  • 명시적 생성자 중 하나를 호출합니다. 다음 예제에서는 시간, 분 및 초의 지정된 수로 TimeSpan 값을 초기화합니다.

    
    TimeSpan interval = new TimeSpan(2, 14, 18);
    outputBlock.Text += interval.ToString() + "\n";              // Displays "02:14:18".
    
    
    
  • 메서드를 호출하거나 작업을 수행하여 TimeSpan 값을 반환합니다. 예를 들어, 다음 예제와 같이 두 날짜 및 시간 값 사이의 간격을 나타내는 TimeSpan 값을 인스턴스화할 수 있습니다.

    
    DateTime departure = new DateTime(2010, 6, 12, 18, 32, 0);
    DateTime arrival = new DateTime(2010, 6, 13, 22, 47, 0);
    TimeSpan travelTime = arrival - departure;
    outputBlock.Text += String.Format("{0} - {1} = {2}", arrival, departure, travelTime) + "\n";
    // 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 개체를 0인 시간 값으로 초기화할 수도 있습니다.

    TimeSpan 값은 DateTime, DateTimeOffsetTimeSpan 구조체의 산술 연산자와 메서드에 의해 반환됩니다.

  • TimeSpan 값의 문자열 표현을 구문 분석합니다. ParseTryParse 메서드를 사용하여 시간 간격이 포함된 문자열을 TimeSpan 값으로 변환할 수 있습니다. 다음 예제에서는 문자열 배열을 동일한 TimeSpan 값으로 변환하는 Parse 메서드를 사용합니다.

    
    string[] values = { "12", "31.", "5.8:32:16", "12:12:15.95", ".12" };
    foreach (string value in values)
    {
       try
       {
          TimeSpan ts = TimeSpan.Parse(value);
          outputBlock.Text += String.Format("'{0}' --> {1}", value, ts) + "\n";
       }
       catch (FormatException)
       {
          outputBlock.Text += String.Format("Unable to parse '{0}'", value) + "\n";
       }
       catch (OverflowException)
       {
          outputBlock.Text += String.Format("'{0}' is outside the range of a TimeSpan.", value) + "\n";
       }
    }
    // 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 값 형식 지정

A TimeSpan 값은 [-]d.hh:mm:ss.ff로 나타낼 수 있습니다. 여기서 선택적 요소인 - 기호는 음의 시간 간격을 나타내며 d 구성 요소는 일, hh는 24시간을 기준으로 측정한 시, mm은 분, ss는 초, ff는 초의 소수 부분을 나타냅니다. 즉, 시간 간격은 양수나 음수의 시간이 없는 일 수, 시간이 있는 일 수, 또는 시간으로만 구성됩니다. 예를 들어, 1.0e+13틱으로 초기화된 TimeSpan 개체의 텍스트 표현은 "11.13:46:40"으로 나타내는데, 이것은 11일, 13시간, 46분, 40초를 의미합니다.

다음 예제에서는 두 날짜 사이의 차이를 나타내는 TimeSpan 개체를 인스턴스화합니다. 그런 다음 TimeSpan 개체의 속성을 표시합니다. 이 샘플 코드를 컴파일하고 실행하는 방법을 보려면 Windows Phone용 정적 TextBlock 컨트롤이 있는 예제 빌드를 참조하세요.


outputBlock.FontFamily = new System.Windows.Media.FontFamily("Courier New");

// 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;
outputBlock.Text += String.Format("{0} - {1} = {2}", date2, date1, interval.ToString()) + "\n";
// Display individual properties of the resulting TimeSpan object.
outputBlock.Text += String.Format("   {0,-35} {1,20}", "Value of Days Component:", interval.Days) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20}", "Total Number of Days:", interval.TotalDays) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20}", "Value of Hours Component:", interval.Hours) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20}", "Total Number of Hours:", interval.TotalHours) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20}", "Value of Minutes Component:", interval.Minutes) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20}", "Total Number of Minutes:", interval.TotalMinutes) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20:N0}", "Value of Seconds Component:", interval.Seconds) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20:N0}", "Total Number of Seconds:", interval.TotalSeconds) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20:N0}", "Value of Milliseconds Component:", interval.Milliseconds) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20:N0}", "Total Number of Milliseconds:", interval.TotalMilliseconds) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20:N0}", "Ticks:", interval.Ticks) + "\n";
// 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


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

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

표시: