표준 TimeSpan 서식 문자열Standard TimeSpan Format Strings

표준 TimeSpan 형식 문자열은 단일 형식 지정자를 사용하여 서식 지정 작업으로 생성되는 TimeSpan 값의 텍스트 표현을 정의합니다.A standard TimeSpan format string uses a single format specifier to define the text representation of a TimeSpan value that results from a formatting operation. 공백을 포함하여 문자가 두 개 이상 포함된 형식 문자열은 사용자 지정 TimeSpan 형식 문자열로 해석됩니다.Any format string that contains more than one character, including white space, is interpreted as a custom TimeSpan format string. 자세한 내용은 사용자 지정 TimeSpan 서식 문자열을 참조하세요.For more information, see Custom TimeSpan Format Strings .

TimeSpan 값의 문자열 표현은 TimeSpan.ToString과 같이 복합 서식 지정을 지원하는 메서드 및 String.Format 메서드의 오버로드 호출을 통해 생성됩니다.The string representations of TimeSpan values are produced by calls to the overloads of the TimeSpan.ToString method, as well as by methods that support composite formatting, such as String.Format. 자세한 내용은 서식 지정 형식복합 서식 지정을 참조하세요.For more information, see Formatting Types and Composite Formatting. 다음 예제에서는 서식 지정 작업에 표준 형식 문자열을 사용하는 방법을 보여 줍니다.The following example illustrates the use of standard format strings in formatting operations.

using System;

public class Example
{
   public static void Main()
   {
      TimeSpan duration = new TimeSpan(1, 12, 23, 62);
      string output = "Time of Travel: " + duration.ToString("c");
      Console.WriteLine(output);
      
      Console.WriteLine("Time of Travel: {0:c}", duration); 
   }
}
// The example displays the following output:
//       Time of Travel: 1.12:24:02
//       Time of Travel: 1.12:24:02
Module Example
   Public Sub Main()
      Dim duration As New TimeSpan(1, 12, 23, 62)
      Dim output As String = "Time of Travel: " + duration.ToString("c")
      Console.WriteLine(output)
      
      Console.WriteLine("Time of Travel: {0:c}", duration) 
   End Sub
End Module
' The example displays the following output:
'       Time of Travel: 1.12:24:02
'       Time of Travel: 1.12:24:02

표준 TimeSpan 형식 문자열은 구문 분석 작업에 필요한 입력 문자열 서식을 정의하기 위해 TimeSpan.ParseExactTimeSpan.TryParseExact 메서드에서도 사용됩니다.Standard TimeSpan format strings are also used by the TimeSpan.ParseExact and TimeSpan.TryParseExact methods to define the required format of input strings for parsing operations. 구문 분석 시에는 값의 문자열 표현이 해당 값으로 변환됩니다. 다음 예제에서는 구문 분석 작업에 표준 형식 문자열을 사용하는 방법을 보여 줍니다.(Parsing converts the string representation of a value to that value.) The following example illustrates the use of standard format strings in parsing operations.

using System;

public class Example
{
   public static void Main()
   {
      string value = "1.03:14:56.1667";
      TimeSpan interval;
      try {
         interval = TimeSpan.ParseExact(value, "c", null);
         Console.WriteLine("Converted '{0}' to {1}", value, interval);
      }   
      catch (FormatException) {
         Console.WriteLine("{0}: Bad Format", value);
      }   
      catch (OverflowException) {
         Console.WriteLine("{0}: Out of Range", value);
      }
      
      if (TimeSpan.TryParseExact(value, "c", null, out interval))
         Console.WriteLine("Converted '{0}' to {1}", value, interval);
      else
         Console.WriteLine("Unable to convert {0} to a time interval.", 
                           value);
   }
}
// The example displays the following output:
//       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
//       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
Module Example
   Public Sub Main()
      Dim value As String = "1.03:14:56.1667"
      Dim interval As TimeSpan
      Try
         interval = TimeSpan.ParseExact(value, "c", Nothing)
         Console.WriteLine("Converted '{0}' to {1}", value, interval)
      Catch e As FormatException
         Console.WriteLine("{0}: Bad Format", value)
      Catch e As OverflowException
         Console.WriteLine("{0}: Out of Range", value)
      End Try
      
      If TimeSpan.TryParseExact(value, "c", Nothing, interval) Then
         Console.WriteLine("Converted '{0}' to {1}", value, interval)
      Else
         Console.WriteLine("Unable to convert {0} to a time interval.", 
                           value)
      End If                
   End Sub
End Module
' The example displays the following output:
'       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
'       Converted '1.03:14:56.1667' to 1.03:14:56.1667000

다음 표에는 표준 시간 간격 형식 지정자가 나와 있습니다.The following table lists the standard time interval format specifiers.

형식 지정자Format specifier nameName 설명Description 예제Examples
"c""c" 상수(고정) 형식Constant (invariant) format 이 지정자는 문화권을 구분하지 않으며This specifier is not culture-sensitive. 형식은 [-][d'.']hh':'mm':'ss['.'fffffff]입니다.It takes the form [-][d'.']hh':'mm':'ss['.'fffffff].

"t" 및 "T" 형식 문자열은 같은 결과를 생성합니다.(The "t" and "T" format strings produce the same results.)

추가 정보: 상수("c") 형식 지정자.More information: The Constant ("c") Format Specifier.
TimeSpan.Zero -> 00:00:00TimeSpan.Zero -> 00:00:00

New TimeSpan(0, 0, 30, 0) -> 00:30:00New TimeSpan(0, 0, 30, 0) -> 00:30:00

New TimeSpan(3, 17, 25, 30, 500) -> 3.17:25:30.5000000New TimeSpan(3, 17, 25, 30, 500) -> 3.17:25:30.5000000
"g""g" 일반 약식General short format 이 지정자는 필요한 내용만 출력하고This specifier outputs only what is needed. 문화권을 구분하며 형식은 [-][d':']h':'mm':'ss[.FFFFFFF]입니다.It is culture-sensitive and takes the form [-][d':']h':'mm':'ss[.FFFFFFF].

추가 정보: 일반 약식("g") 형식 지정자.More information: The General Short ("g") Format Specifier.
New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50.5(en-US)New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50.5 (en-US)

New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50,5(fr-FR)New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50,5 (fr-FR)

New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50.599(en-US)New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50.599 (en-US)

New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50,599(fr-FR)New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50,599 (fr-FR)
"G""G" 일반 긴 형식General long format 이 지정자는 항상 일 수와 7자리 소수 자릿수를 출력하고This specifier always outputs days and seven fractional digits. 문화권을 구분하며 형식은 [-]d':'hh':'mm':'ss.fffffff입니다.It is culture-sensitive and takes the form [-]d':'hh':'mm':'ss.fffffff.

추가 정보: 일반 긴("G") 형식 지정자.More information: The General Long ("G") Format Specifier.
New TimeSpan(18, 30, 0) -> 0:18:30:00.0000000(en-US)New TimeSpan(18, 30, 0) -> 0:18:30:00.0000000 (en-US)

New TimeSpan(18, 30, 0) -> 0:18:30:00,0000000(fr-FR)New TimeSpan(18, 30, 0) -> 0:18:30:00,0000000 (fr-FR)

상수("c") 형식 지정자The Constant ("c") Format Specifier

"c" 형식 지정자는 TimeSpan 값의 문자열 표현을 다음 형식으로 반환합니다.The "c" format specifier returns the string representation of a TimeSpan value in the following form:

[-][d.]hh:mm:ss[.fffffff][-][d.]hh:mm:ss[.fffffff]

대괄호 ([ 및 ]) 안의 요소는 선택적 요소입니다.Elements in square brackets ([ and ]) are optional. 마침표(.)와 콜론(:)은 리터럴 기호입니다.The period (.) and colon (:) are literal symbols. 다음 표에서는 나머지 요소에 대해 설명합니다.The following table describes the remaining elements.

요소Element 설명Description
- 음수 시간 간격을 나타내는 선택적 음수 기호입니다.An optional negative sign, which indicates a negative time interval.
dd 앞에 오는 0이 없는 선택적 일 수입니다.The optional number of days, with no leading zeros.
hhhh "00"부터 "23" 범위의 시간입니다.The number of hours, which ranges from "00" to "23".
mmmm "00"부터 "59" 범위의 분입니다.The number of minutes, which ranges from "00" to "59".
ssss "0"부터 "59" 범위의 초입니다.The number of seconds, which ranges from "0" to "59".
ffffffffffffff 선택적인 초의 소수 부분입니다.The optional fractional portion of a second. 값 범위는 "0000001"(틱 1개 또는 1천만 분의 1초)에서 "9999999"(9,999,999천만 분의 1초 또는 1초-틱 1개)까지입니다.Its value can range from "0000001" (one tick, or one ten-millionth of a second) to "9999999" (9,999,999 ten-millionths of a second, or one second less one tick).

"g" 및 "G" 형식 지정자와 달리 "c" 형식 지정자는 문화권을 구분하지 않으며,Unlike the "g" and "G" format specifiers, the "c" format specifier is not culture-sensitive. .NET Framework 4 이전의 모든 .NET Framework 버전에 공통적으로 적용되는 고정된 TimeSpan 값의 문자열 표현을 생성합니다.It produces the string representation of a TimeSpan value that is invariant and that is common to all previous versions of the .NET Framework before the .NET Framework 4. “c”는 기본 TimeSpan 형식 문자열입니다. 즉, TimeSpan.ToString() 메서드는 “c” 형식 문자열을 사용하여 시간 간격 값의 서식을 지정합니다."c" is the default TimeSpan format string; the TimeSpan.ToString() method formats a time interval value by using the "c" format string.

참고

TimeSpan은 "c" 표준 형식 문자열과 동작이 동일한 "t" 및 "T" 표준 형식 문자열도 지원합니다.TimeSpan also supports the "t" and "T" standard format strings, which are identical in behavior to the "c" standard format string.

다음 예제에서는 두 TimeSpan 개체를 인스턴스화한 다음 해당 개체를 사용하여 산술 연산을 수행하고 결과를 표시합니다.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. 각 경우에서는 복합 서식을 사용하여 "c" 형식 지정자를 통해 TimeSpan 값을 표시합니다.In each case, it uses composite formatting to display the TimeSpan value by using the "c" format specifier.

using System;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);
      
      Console.WriteLine("{0:c} - {1:c} = {2:c}", interval1, 
                        interval2, interval1 - interval2);
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2);
      
      interval1 = new TimeSpan(0, 0, 1, 14, 365);
      interval2 = TimeSpan.FromTicks(2143756);  
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2);
   }
}
// The example displays the following output:
//       07:45:16 - 18:12:38 = -10:27:22
//       07:45:16 + 18:12:38 = 1.01:57:54
//       00:01:14.3650000 + 00:00:00.2143756 = 00:01:14.5793756
Module Example
   Public Sub Main()
      Dim interval1, interval2 As TimeSpan
      interval1 = New TimeSpan(7, 45, 16)
      interval2 = New TimeSpan(18, 12, 38)
      
      Console.WriteLine("{0:c} - {1:c} = {2:c}", interval1, 
                        interval2, interval1 - interval2)
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2)
      
      interval1 = New TimeSpan(0, 0, 1, 14, 365)
      interval2 = TimeSpan.FromTicks(2143756)      
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2)
   End Sub
End Module
' The example displays the following output:
'       07:45:16 - 18:12:38 = -10:27:22
'       07:45:16 + 18:12:38 = 1.01:57:54
'       00:01:14.3650000 + 00:00:00.2143756 = 00:01:14.5793756

표로 이동Back to table

일반 약식("g") 형식 지정자The General Short ("g") Format Specifier

"g" TimeSpan 형식 지정자는 필요한 요소만 포함하여 TimeSpan 값의 문자열 표현을 압축 형식으로 반환합니다.The "g" TimeSpan format specifier returns the string representation of a TimeSpan value in a compact form by including only the elements that are necessary. 이 형식 지정자의 형식은 다음과 같습니다.It has the following form:

[-][d:]h:mm:ss[.FFFFFFF][-][d:]h:mm:ss[.FFFFFFF]

대괄호 ([ 및 ]) 안의 요소는 선택적 요소입니다.Elements in square brackets ([ and ]) are optional. 콜론(:)은 리터럴 기호입니다.The colon (:) is a literal symbol. 다음 표에서는 나머지 요소에 대해 설명합니다.The following table describes the remaining elements.

요소Element 설명Description
- 음수 시간 간격을 나타내는 선택적 음수 기호입니다.An optional negative sign, which indicates a negative time interval.
dd 앞에 오는 0이 없는 선택적 일 수입니다.The optional number of days, with no leading zeros.
hh 앞에 오는 0이 없는 "0"부터"23" 범위의 시간입니다.The number of hours, which ranges from "0" to "23", with no leading zeros.
mmmm "00"부터 "59" 범위의 분입니다.The number of minutes, which ranges from "00" to "59"..
ssss "00"부터 "59" 범위의 초입니다.The number of seconds, which ranges from "00" to "59"..
.. 초 소수 구분 기호입니다.The fractional seconds separator. 사용자 재정의가 없는 지정한 문화권의 NumberDecimalSeparator 속성과 같습니다.It is equivalent to the specified culture's NumberDecimalSeparator property without user overrides.
FFFFFFFFFFFFFF 초의 소수 부분입니다.The fractional seconds. 최대한 적은 자릿수가 표시됩니다.As few digits as possible are displayed.

"G" 형식 지정자와 마찬가지로 "g" 형식 지정자도 지역화됩니다.Like the "G" format specifier, the "g" format specifier is localized. 해당 초 소수 구분 기호는 현재 문화권 또는 지정한 문화권의 NumberDecimalSeparator 속성을 기준으로 합니다.Its fractional seconds separator is based on either the current culture or a specified culture's NumberDecimalSeparator property.

다음 예제에서는 두 TimeSpan 개체를 인스턴스화한 다음 해당 개체를 사용하여 산술 연산을 수행하고 결과를 표시합니다.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. 각 경우에서는 복합 서식을 사용하여 "g" 형식 지정자를 통해 TimeSpan 값을 표시합니다.In each case, it uses composite formatting to display the TimeSpan value by using the "g" format specifier. 또한 현재 시스템 문화권(여기서는 영어 - 미국 또는 en-US) 및 프랑스어 - 프랑스(fr-FR) 문화권의 서식 규칙을 사용하여 TimeSpan 값의 서식을 지정합니다.In addition, it formats the TimeSpan value by using the formatting conventions of the current system culture (which, in this case, is English - United States or en-US) and the French - France (fr-FR) culture.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);
      
      Console.WriteLine("{0:g} - {1:g} = {2:g}", interval1, 
                        interval2, interval1 - interval2);
      Console.WriteLine(String.Format(new CultureInfo("fr-FR"), 
                        "{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2));
      
      interval1 = new TimeSpan(0, 0, 1, 14, 36);
      interval2 = TimeSpan.FromTicks(2143756);      
      Console.WriteLine("{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2);
   }
}
// The example displays the following output:
//       7:45:16 - 18:12:38 = -10:27:22
//       7:45:16 + 18:12:38 = 1:1:57:54
//       0:01:14.036 + 0:00:00.2143756 = 0:01:14.2503756
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim interval1, interval2 As TimeSpan
      interval1 = New TimeSpan(7, 45, 16)
      interval2 = New TimeSpan(18, 12, 38)
      
      Console.WriteLine("{0:g} - {1:g} = {2:g}", interval1, 
                        interval2, interval1 - interval2)
      Console.WriteLine(String.Format(New CultureInfo("fr-FR"), 
                        "{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2))
      
      interval1 = New TimeSpan(0, 0, 1, 14, 36)
      interval2 = TimeSpan.FromTicks(2143756)      
      Console.WriteLine("{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2)
   End Sub
End Module
' The example displays the following output:
'       7:45:16 - 18:12:38 = -10:27:22
'       7:45:16 + 18:12:38 = 1:1:57:54
'       0:01:14.036 + 0:00:00.2143756 = 0:01:14.2503756

표로 이동Back to table

일반 긴("G") 형식 지정자The General Long ("G") Format Specifier

"G" TimeSpan 형식 지정자는 항상 일 수와 초의 소수 부분을 모두 포함하는 긴 형식으로 TimeSpan 값의 문자열 표현을 반환합니다.The "G" TimeSpan format specifier returns the string representation of a TimeSpan value in a long form that always includes both days and fractional seconds. "G" 표준 형식 지정자에서 생성 되는 문자열의 형식은 다음과 같습니다.The string that results from the "G" standard format specifier has the following form:

[-]d:hh:mm:ss.fffffff[-]d:hh:mm:ss.fffffff

대괄호 ([ 및 ]) 안의 요소는 선택적 요소입니다.Elements in square brackets ([ and ]) are optional. 콜론(:)은 리터럴 기호입니다.The colon (:) is a literal symbol. 다음 표에서는 나머지 요소에 대해 설명합니다.The following table describes the remaining elements.

요소Element 설명Description
- 음수 시간 간격을 나타내는 선택적 음수 기호입니다.An optional negative sign, which indicates a negative time interval.
dd 앞에 오는 0이 없는 일 수입니다.The number of days, with no leading zeros.
hhhh "00"부터 "23" 범위의 시간입니다.The number of hours, which ranges from "00" to "23".
mmmm "00"부터 "59" 범위의 분입니다.The number of minutes, which ranges from "00" to "59".
ssss "00"부터 "59" 범위의 초입니다.The number of seconds, which ranges from "00" to "59".
.. 초 소수 구분 기호입니다.The fractional seconds separator. 사용자 재정의가 없는 지정한 문화권의 NumberDecimalSeparator 속성과 같습니다.It is equivalent to the specified culture's NumberDecimalSeparator property without user overrides.
ffffffffffffff 초의 소수 부분입니다.The fractional seconds.

"G" 형식 지정자와 마찬가지로 "g" 형식 지정자도 지역화됩니다.Like the "G" format specifier, the "g" format specifier is localized. 해당 초 소수 구분 기호는 현재 문화권 또는 지정한 문화권의 NumberDecimalSeparator 속성을 기준으로 합니다.Its fractional seconds separator is based on either the current culture or a specified culture's NumberDecimalSeparator property.

다음 예제에서는 두 TimeSpan 개체를 인스턴스화한 다음 해당 개체를 사용하여 산술 연산을 수행하고 결과를 표시합니다.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. 각 경우에서는 복합 서식을 사용하여 "G" 형식 지정자를 통해 TimeSpan 값을 표시합니다.In each case, it uses composite formatting to display the TimeSpan value by using the "G" format specifier. 또한 현재 시스템 문화권(여기서는 영어 - 미국 또는 en-US) 및 프랑스어 - 프랑스(fr-FR) 문화권의 서식 규칙을 사용하여 TimeSpan 값의 서식을 지정합니다.In addition, it formats the TimeSpan value by using the formatting conventions of the current system culture (which, in this case, is English - United States or en-US) and the French - France (fr-FR) culture.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);
      
      Console.WriteLine("{0:G} - {1:G} = {2:G}", interval1, 
                        interval2, interval1 - interval2);
      Console.WriteLine(String.Format(new CultureInfo("fr-FR"), 
                        "{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2));
      
      interval1 = new TimeSpan(0, 0, 1, 14, 36);
      interval2 = TimeSpan.FromTicks(2143756);      
      Console.WriteLine("{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2);
   }
}
// The example displays the following output:
//       0:07:45:16.0000000 - 0:18:12:38.0000000 = -0:10:27:22.0000000
//       0:07:45:16,0000000 + 0:18:12:38,0000000 = 1:01:57:54,0000000
//       0:00:01:14.0360000 + 0:00:00:00.2143756 = 0:00:01:14.2503756
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim interval1, interval2 As TimeSpan
      interval1 = New TimeSpan(7, 45, 16)
      interval2 = New TimeSpan(18, 12, 38)
      
      Console.WriteLine("{0:G} - {1:G} = {2:G}", interval1, 
                        interval2, interval1 - interval2)
      Console.WriteLine(String.Format(New CultureInfo("fr-FR"), 
                        "{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2))
      
      interval1 = New TimeSpan(0, 0, 1, 14, 36)
      interval2 = TimeSpan.FromTicks(2143756)      
      Console.WriteLine("{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2)
   End Sub
End Module
' The example displays the following output:
'       0:07:45:16.0000000 - 0:18:12:38.0000000 = -0:10:27:22.0000000
'       0:07:45:16,0000000 + 0:18:12:38,0000000 = 1:01:57:54,0000000
'       0:00:01:14.0360000 + 0:00:00:00.2143756 = 0:00:01:14.2503756

표로 이동Back to table

참고 항목See also