다음을 통해 공유


사용자 지정 날짜 및 시간 형식 문자열

업데이트: 2007년 11월

사용자 지정 날짜 및 시간 형식 문자열은 형식 지정 작업에서 생성되는 DateTime 또는 DateTimeOffset 값의 텍스트 표현을 정의합니다. 사용자 지정 형식 문자열은 하나 이상의 사용자 지정 날짜 및 시간 형식 지정자로 구성됩니다. 표준 날짜 및 시간 형식 문자열이 아닌 문자열은 사용자 지정 날짜 및 시간 형식 문자열로 해석됩니다.

참고   표준 날짜 및 시간 형식 문자열은 DateTimeDateTimeOffset 값 모두에 사용할 수 있습니다.

사용자 지정 날짜 및 시간 형식 지정자

다음 표에서는 사용자 지정 날짜 및 시간 형식 지정자에 대해 설명합니다. 다른 설명이 없는 한 특정 사용자 지정 날짜 및 시간 형식 지정자는 DateTime 값에 사용할 때와 DateTimeOffset 값에 사용할 때 동일한 문자열을 생성합니다.

형식 지정자

설명

d

월의 일자를 1부터 31까지의 숫자로 나타냅니다. 한 자리 날짜의 경우 앞에 0이 표시되지 않습니다. 단일 사용자 지정 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오.

다음 예제에서는 여러 개의 형식 문자열에 d 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("d, M", _
CultureInfo.InvariantCulture))
' Displays 29, 8
Console.WriteLine(date1.ToString("d MMMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays 29 August
Console.WriteLine(date1.ToString("d MMMM", _
CultureInfo.CreateSpecificCulture("es-MX")))
' Displays 29 agosto
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("d, M",
CultureInfo.InvariantCulture));
// Displays 29, 8
Console.WriteLine(date1.ToString("d MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays 29 August
Console.WriteLine(date1.ToString("d MMMM",
CultureInfo.CreateSpecificCulture("es-MX")));
// Displays 29 agosto

dd

월의 일자를 01부터 31까지의 숫자로 나타냅니다. 한 자리 날짜의 경우 앞에 0이 표시됩니다. 다음 예제에서는 사용자 지정 형식 문자열에 dd 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #1/2/2008 6:30:15AM#
Console.WriteLine(date1.ToString("dd, MM", _
CultureInfo.InvariantCulture))
' 02, 01
DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);
Console.WriteLine(date1.ToString("dd, MM",
CultureInfo.InvariantCulture));
// 02, 01

ddd

현재 DateTimeFormatInfo.AbbreviatedDayNames 속성에 정의된 주의 요일에 대한 약식 이름을 나타냅니다. 다음 예제에서는 사용자 지정 형식 문자열에 ddd 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("ddd d MMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 aot
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 aot

dddd 및 추가 d 지정자 사용

현재 DateTimeFormatInfo.DayNames 속성에 정의된 주의 요일에 대한 전체 이름을 나타냅니다. 다음 예제에서는 사용자 지정 형식 문자열에 dddd 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("dddd dd MMMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerd 29 agosto
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerd 29 agosto

f

초의 최대 유효 자릿수를 나타냅니다. 즉, 날짜 및 시간 값에서 1/10초까지 표시합니다.

다른 형식 지정자 없이 f 형식 지정자만 사용되면 f 표준 날짜 및 시간 형식 지정자로 해석됩니다. 단일 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오.

이 형식 지정자를 ParseExact, TryParseExact, ParseExact 또는 TryParseExact 메서드에 형식 문자열의 일부로 제공하여 사용할 경우, 사용하는 f 형식 지정자의 수는 문자열을 구문 분석하는 데 필요한 시간(초)의 최대 유효 자릿수를 나타냅니다.

다음 예제에서는 사용자 지정 형식 문자열에 f 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018

"ff"

초의 최대 유효 자릿수 2개를 나타냅니다. 즉, 날짜 및 시간 값에서 1/100초까지 표시합니다. 다음 예제에서는 사용자 지정 형식 문자열에 ff 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018

fff

초의 최대 유효 자릿수 3개를 나타냅니다. 즉, 날짜 및 시간 값에서 1/1000초까지 표시합니다. 다음 예제에서는 사용자 지정 형식 문자열에 fff 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018

ffff

초의 최대 유효 자릿수 4개를 나타냅니다. 즉, 날짜 및 시간 값에서 1/10000초까지 표시합니다.

1/10000초까지 표시하는 것이 가능하기는 하지만 이 값은 의미가 없을 수도 있습니다. 날짜 및 시간 값의 자릿수는 시스템 시계의 정밀도에 따라 달라집니다. Windows NT 3.5 이상 버전과 Windows Vista 운영 체제의 경우 시계의 정밀도는 약 10-15밀리초입니다.

fffff

초의 최대 유효 자릿수 5개를 나타냅니다. 즉, 날짜 및 시간 값에서 1/100000초까지 표시합니다.

1/100000초까지 표시하는 것이 가능하기는 하지만 이 값은 의미가 없을 수도 있습니다. 날짜 및 시간 값의 자릿수는 시스템 시계의 정밀도에 따라 달라집니다. Windows NT 3.5 이상 버전과 Windows Vista 운영 체제의 경우 시계의 정밀도는 약 10-15밀리초입니다.

ffffff

초의 최대 유효 자릿수 6개를 나타냅니다. 즉, 날짜 및 시간 값에서 1/1000000초까지 표시합니다.

1/1000000초까지 표시하는 것이 가능하기는 하지만 이 값은 의미가 없을 수도 있습니다. 날짜 및 시간 값의 자릿수는 시스템 시계의 정밀도에 따라 달라집니다. Windows NT 3.5 이상 버전과 Windows Vista 운영 체제의 경우 시계의 정밀도는 약 10-15밀리초입니다.

fffffff

초의 최대 유효 자릿수 7개를 나타냅니다. 즉, 날짜 및 시간 값에서 1/10000000초까지 표시합니다.

1/10000000초까지 표시하는 것이 가능하기는 하지만 이 값은 의미가 없을 수도 있습니다. 날짜 및 시간 값의 자릿수는 시스템 시계의 정밀도에 따라 달라집니다. Windows NT 3.5 이상 버전과 Windows Vista 운영 체제의 경우 시계의 정밀도는 약 10-15밀리초입니다.

F

초의 최대 유효 자릿수를 나타냅니다. 즉, 날짜 및 시간 값에서 1/10초까지 표시합니다. 숫자가 0이면 아무것도 표시되지 않습니다.

다른 형식 지정자 없이 F 형식 지정자만 사용되면 F 표준 날짜 및 시간 형식 지정자로 해석됩니다. 단일 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오.

ParseExact, TryParseExact, ParseExact 또는 TryParseExact 메서드와 함께 F 형식 지정자를 사용할 경우, 사용하는 F 형식 지정자의 수는 문자열을 구문 분석하는 데 사용할 수 있는 시간(초)의 최대 유효 자릿수에 대한 최대 개수를 나타냅니다.

다음 예제에서는 사용자 지정 형식 문자열에 F 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018

FF

초의 최대 유효 자릿수 2개를 나타냅니다. 즉, 날짜 및 시간 값에서 1/100초까지 표시합니다. 그러나 뒤에 0이 오거나 두 숫자가 0이면 표시되지 않습니다. 다음 예제에서는 사용자 지정 형식 문자열에 FF 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018

FFF

초의 최대 유효 자릿수 3개를 나타냅니다. 즉, 날짜 및 시간 값에서 1/1000초까지 표시합니다. 그러나 뒤에 0이 오거나 세 숫자가 0이면 표시되지 않습니다. 다음 예제에서는 사용자 지정 형식 문자열에 FFF 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018

FFFF

초의 최대 유효 자릿수 4개를 나타냅니다. 즉, 날짜 및 시간 값에서 1/10000초까지 표시합니다. 그러나 뒤에 0이 오거나 네 숫자가 0이면 표시되지 않습니다.

1/10000초까지 표시하는 것이 가능하기는 하지만 이 값은 의미가 없을 수도 있습니다. 날짜 및 시간 값의 자릿수는 시스템 시계의 정밀도에 따라 달라집니다. Windows NT 3.5 이상 버전과 Windows Vista 운영 체제의 경우 시계의 정밀도는 약 10-15밀리초입니다.

FFFFF

초의 최대 유효 자릿수 5개를 나타냅니다. 즉, 날짜 및 시간 값에서 1/100000초까지 표시합니다. 그러나 뒤에 0이 오거나 다섯 숫자가 0이면 표시되지 않습니다.

1/100000초까지 표시하는 것이 가능하기는 하지만 이 값은 의미가 없을 수도 있습니다. 날짜 및 시간 값의 자릿수는 시스템 시계의 정밀도에 따라 달라집니다. Windows NT 3.5 이상 버전과 Windows Vista 운영 체제의 경우 시계의 정밀도는 약 10-15밀리초입니다.

FFFFFF

초의 최대 유효 자릿수 6개를 나타냅니다. 즉, 날짜 및 시간 값에서 1/1000000초까지 표시합니다. 그러나 뒤에 0이 오거나 여섯 숫자가 0이면 표시되지 않습니다.

1/1000000초까지 표시하는 것이 가능하기는 하지만 이 값은 의미가 없을 수도 있습니다. 날짜 및 시간 값의 자릿수는 시스템 시계의 정밀도에 따라 달라집니다. Windows NT 3.5 이상 버전과 Windows Vista 운영 체제의 경우 시계의 정밀도는 약 10-15밀리초입니다.

FFFFFFF

초의 최대 유효 자릿수 7개를 나타냅니다. 즉, 날짜 및 시간 값에서 1/10000000초까지 표시합니다. 그러나 뒤에 0이 오거나 일곱 숫자가 0이면 표시되지 않습니다.

1/10000000초까지 표시하는 것이 가능하기는 하지만 이 값은 의미가 없을 수도 있습니다. 날짜 및 시간 값의 자릿수는 시스템 시계의 정밀도에 따라 달라집니다. Windows NT 3.5 이상 버전과 Windows Vista 운영 체제의 경우 시계의 정밀도는 약 10-15밀리초입니다.

g, gg 및 추가 g 지정자 사용

시대 또는 연대(예: A.D.)를 나타냅니다. 형식을 지정할 날짜에 관련 시대 또는 연대 문자열이 없으면 이 지정자는 무시됩니다. 단일 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오.

다음 예제에서는 사용자 지정 형식 문자열에 g 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #08/04/0070#
Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
CultureInfo.InvariantCulture))
' Displays 08/04/0070 A.D.
Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 08/04/0070 ap. J.-C.
DateTime date1 = new DateTime(70, 08, 04);
Console.WriteLine(date1.ToString("MM/dd/yyyy g",
CultureInfo.InvariantCulture));
// Displays 08/04/0070 A.D.
Console.WriteLine(date1.ToString("MM/dd/yyyy g",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 08/04/0070 ap. J.-C.

h

시간을 1부터 12까지의 숫자로 나타냅니다. 즉, 자정 또는 정오 이후의 총 시간을 계산하는 12시간 형식으로 나타냅니다. 자정 이후의 시간과 정오 이후의 같은 시간을 구별할 수 없습니다. 시간은 반올림되지 않으며 한 자리 시간의 경우 앞에 0이 표시되지 않습니다. 예를 들어, 5시 43분의 경우 이 사용자 지정 형식 지정자는 "5"를 표시합니다. 단일 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오.

다음 예제에서는 사용자 지정 형식 문자열에 h 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5

hh, hh 및 추가 h 지정자 사용

시간을 01부터 12까지의 숫자로 나타냅니다. 즉, 자정 또는 정오 이후의 총 시간을 계산하는 12시간 형식으로 나타냅니다. 자정 이후의 시간과 정오 이후의 같은 시간을 구별할 수 없습니다. 시간은 반올림되지 않으며 한 자리 시간의 경우 앞에 0이 표시됩니다. 예를 들어, 5시 43분의 경우 이 형식 지정자는 "05"를 표시합니다.

다음 예제에서는 사용자 지정 형식 문자열에 hh 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.

H

시간을 0부터 23까지의 숫자로 나타냅니다. 즉, 자정 이후의 시간을 계산하는 24시간(0부터 시작) 형식으로 나타냅니다. 한 자리 시간의 경우 앞에 0이 표시되지 않습니다.

단일 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오.

다음 예제에서는 사용자 지정 형식 문자열에 H 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("H:mm:ss", _
CultureInfo.InvariantCulture))
' Displays 6:09:01
DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("H:mm:ss",
CultureInfo.InvariantCulture));
// Displays 6:09:01

HH, HH 및 추가 H 지정자 사용

시간을 00부터 23까지의 숫자로 나타냅니다. 즉, 자정 이후의 시간을 계산하는 24시간(0부터 시작) 형식으로 나타냅니다. 한 자리 시간의 경우 앞에 0이 표시됩니다. 다음 예제에서는 사용자 지정 형식 문자열에 HH 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("HH:mm:ss", _
CultureInfo.InvariantCulture))
' Displays 06:09:01
DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("HH:mm:ss",
CultureInfo.InvariantCulture));
// Displays 06:09:01

K

표준 시간대의 날짜 및 시간 값을 나타냅니다. DateTime 값과 함께 사용할 경우 결과 문자열은 DateTime.Kind 속성 값에 의해 정의됩니다. 현지 표준 시간대(DateTime.Kind 속성 값이 DateTimeKind.Local임)의 경우 이 지정자는 zzz 지정자와 같으며 UTC(협정 세계시)에서의 로컬 오프셋(예: "-07:00")이 포함된 결과 문자열을 생성합니다. UTC 시간(DateTime.Kind 속성 값이 DateTimeKind.Utc임)의 경우 결과 문자열에 UTC 날짜를 나타내는 "Z" 문자가 포함됩니다. 지정되지 않은 표준 시간대(시간의 DateTime.Kind 속성이 DateTimeKind.Unspecified임)의 경우 결과가 String.Empty와 같습니다. DateTimeOffset 값의 경우 K 형식 지정자는 zz 형식 지정자와 같으며 UTC에서의 DateTimeOffset 값 오프셋이 포함된 결과 문자열을 생성합니다.

단일 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오.

다음 예제에서는 미국 태평양 표준 시간대에 있는 시스템의 다양한 DateTimeDateTimeOffset 값에 K 사용자 지정 형식 지정자를 사용하여 생성된 문자열을 표시합니다.

Console.WriteLine(Date.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(Date.UtcNow.ToString("%K"))
' Displays Z
Console.WriteLine("'{0}'", _
Date.SpecifyKind(Date.Now, _
DateTimeKind.Unspecified). _
ToString("%K"))
' Displays ''
Console.WriteLine(DateTimeOffset.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"))
' Displays +00:00
Console.WriteLine(New DateTimeOffset(2008, 5, 1, 6, 30, 0, _
New TimeSpan(5, 0, 0)). _
ToString("%K"))
' Displays +05:00
Console.WriteLine(DateTime.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTime.UtcNow.ToString("%K"));
// Displays Z
Console.WriteLine("'{0}'",
DateTime.SpecifyKind(DateTime.Now,
DateTimeKind.Unspecified).ToString("%K"));
// Displays ''
Console.WriteLine(DateTimeOffset.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"));
// Displays +00:00
Console.WriteLine(new DateTimeOffset(2008, 5, 1, 6, 30, 0,
new TimeSpan(5, 0, 0)).ToString("%K"));
// Displays +05:00

m

분을 0부터 59까지의 숫자로 나타냅니다. 분은 마지막 시간 이후 경과한 총 분 수를 나타냅니다. 한 자리 분의 경우 앞에 0이 표시되지 않습니다. 단일 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오. 다음 예제에서는 사용자 지정 형식 문자열에 m 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5

mm, mm 및 추가 m 지정자 사용

분을 00부터 59까지의 숫자로 나타냅니다. 분은 마지막 시간 이후 경과한 총 분 수를 나타냅니다. 한 자리 분의 경우 앞에 0이 표시됩니다. 다음 예제에서는 사용자 지정 형식 문자열에 mm 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.

M

월을 1부터 12까지의 숫자로 나타냅니다. 한 자리 월의 경우 앞에 0이 표시되지 않습니다. 단일 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오. 다음 예제에서는 사용자 지정 형식 문자열에 M 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #8/18/2008#
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
CultureInfo.CreateSpecificCulture("nl-NL")))
' Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
CultureInfo.CreateSpecificCulture("lv-LV")))
' Displays (8) Aug, augusts
DateTime date1 = new DateTime(2008, 8, 18);
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
CultureInfo.CreateSpecificCulture("nl-NL")));
// Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
CultureInfo.CreateSpecificCulture("lv-LV")));
// Displays (8) Aug, augusts

MM

월을 01부터 12까지의 숫자로 나타냅니다. 한 자리 월의 경우 앞에 0이 표시됩니다. 다음 예제에서는 사용자 지정 형식 문자열에 MM 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #1/2/2008 6:30:15AM#
Console.WriteLine(date1.ToString("dd, MM", _
CultureInfo.InvariantCulture))
' 02, 01
DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);
Console.WriteLine(date1.ToString("dd, MM",
CultureInfo.InvariantCulture));
// 02, 01

MMM

현재 DateTimeFormatInfo.AbbreviatedMonthNames 속성에 정의된 월의 약식 이름을 나타냅니다. 다음 예제에서는 사용자 지정 형식 문자열에 MMM 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("ddd d MMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 aot
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 aot

MMMM

현재 DateTimeFormatInfo.MonthNames 속성에 정의된 월의 전체 이름을 나타냅니다. 다음 예제에서는 사용자 지정 형식 문자열에 MMMM 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("dddd dd MMMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerd 29 agosto
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerd 29 agosto

s

초를 0부터 59까지의 숫자로 나타냅니다. 결과에는 마지막 분 이후 경과한 총 초 수가 나타납니다. 한 자리 초의 경우 앞에 0이 표시되지 않습니다. 단일 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오. 다음 예제에서는 사용자 지정 형식 문자열에 s 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5

ss, ss 및 추가 s 지정자 사용

초를 00부터 59까지의 숫자로 나타냅니다. 결과는 마지막 분 이후 경과한 총 초 수를 나타냅니다. 한 자리 초의 경우 앞에 0이 표시됩니다. 다음 예제에서는 사용자 지정 형식 문자열에 ss 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.

t

현재 DateTimeFormatInfo.AMDesignator 또는 DateTimeFormatInfo.PMDesignator 속성에 정의된 AM/PM 지정자의 첫 번째 문자를 나타냅니다. 형식을 지정할 시간이 12보다 작으면 AM 지정자가 사용되고, 그렇지 않으면 PM 지정자가 사용됩니다. 단일 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오.

다음 예제에서는 사용자 지정 형식 문자열에 t 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5

tt, tt 및 추가 t 지정자 사용

현재 DateTimeFormatInfo.AMDesignator 또는 DateTimeFormatInfo.PMDesignator 속성에 정의된 AM/PM 지정자를 나타냅니다. 형식을 지정할 시간이 12보다 작으면 AM 지정자가 사용되고, 그렇지 않으면 PM 지정자가 사용됩니다.

응용 프로그램에서는 AM과 PM을 구분하는 데 필요한 해당 언어의 tt 지정자를 사용해야 합니다. 예를 들어, 일본어의 경우 AM/PM 지정자의 첫 번째 문자가 아니라 두 번째 문자가 서로 다릅니다.

다음 예제에서는 사용자 지정 형식 문자열에 tt 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.

y

연도를 한 자리 또는 두 자리 숫자로 나타냅니다. 연도가 두 자리를 넘으면 마지막 두 자리 숫자만 결과에 나타납니다. 2008과 같이 두 자리 연도의 첫 번째 숫자가 0으로 시작하면 앞에 0이 표시되지 않습니다. 단일 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오.

다음 예제에서는 사용자 지정 형식 문자열에 y 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010

yy

연도를 두 자리 숫자로 나타냅니다. 연도가 두 자리를 넘으면 마지막 두 자리 숫자만 결과에 나타납니다. 두 자리 연도의 유효 자릿수가 두 자리 미만인 경우 두 자리가 되도록 앞에 0이 채워집니다.

다음 예제에서는 사용자 지정 형식 문자열에 yy 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010

yyy

연도를 최소 세 자리 숫자로 나타냅니다. 연도의 유효 자릿수가 세 자리보다 많더라도 결과 문자열에 포함됩니다. 연도가 세 자리 미만인 경우 세 자리가 되도록 앞에 0이 채워집니다.

연도를 다섯 자리까지 표시할 수 있는 태국 불교식 달력의 경우 이 형식 지정자는 다섯 자리를 모두 표시합니다.

다음 예제에서는 사용자 지정 형식 문자열에 yyy 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010

yyyy

연도를 네 자리 숫자로 나타냅니다. 연도가 네 자리를 넘으면 마지막 네 자리 숫자만 결과에 나타납니다. 연도가 네 자리 미만인 경우 네 자리가 되도록 앞에 0이 채워집니다.

연도를 다섯 자리까지 표시할 수 있는 태국 불교식 달력의 경우 이 형식 지정자는 다섯 자리를 모두 포함합니다.

다음 예제에서는 사용자 지정 형식 문자열에 yyyy 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010

yyyyy 및 추가 y 지정자 사용

연도를 다섯 자리 숫자로 나타냅니다. 연도가 다섯 자리를 넘으면 마지막 다섯 자리 숫자만 결과에 나타납니다. 연도가 다섯 자리 미만인 경우 다섯 자리가 되도록 앞에 0이 채워집니다.

추가 y 지정자가 있는 경우 y 지정자의 수에 맞도록 앞에 0이 필요한 만큼 채워집니다.

다음 예제에서는 사용자 지정 형식 문자열에 yyyyy 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010

z

DateTime 값에 사용할 경우 시간 단위로 측정된 UTC(협정 세계시)에서 로컬 운영 체제의 부호 있는 표준 시간대 오프셋을 나타냅니다. 이 형식 지정자는 인스턴스의 Kind 속성 값은 반영하지 않습니다. 따라서 DateTime 값에는 z 형식 지정자를 사용하지 않는 것이 좋습니다.

DateTimeOffset 값에 사용할 경우 시간 단위로 측정된 UTC에서의 DateTimeOffset 값 오프셋을 나타냅니다.

오프셋은 항상 앞에 부호가 표시됩니다. 더하기 부호(+)는 UTC보다 앞선 시간을 나타내고 빼기 부호(-)는 UTC보다 늦은 시간을 나타냅니다. 오프셋 범위는 –12부터 +13까지입니다. 한 자리 오프셋의 경우 앞에 0이 표시되지 않습니다. 단일 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오. 다음 예제에서는 사용자 지정 형식 문자열에 z 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date1))
' Displays -7, -07, -07:00
Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date2))
' Displays +6, +06, +06:00
DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date1));
// Displays -7, -07, -07:00
DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date2));
// Displays +6, +06, +06:00

zz

DateTime 값에 사용할 경우 시간 단위로 측정된 UTC에서 로컬 운영 체제의 부호 있는 표준 시간대 오프셋을 나타냅니다. 이 형식 지정자는 인스턴스의 Kind 속성 값은 반영하지 않습니다. 따라서 DateTime 값에는 zz 형식 지정자를 사용하지 않는 것이 좋습니다.

DateTimeOffset 값에 사용할 경우 시간 단위로 측정된 UTC에서의 DateTimeOffset 값 오프셋을 나타냅니다.

오프셋은 항상 앞에 부호가 표시됩니다. 더하기 부호(+)는 UTC보다 앞선 시간을 나타내고 빼기 부호(-)는 UTC보다 늦은 시간을 나타냅니다. 오프셋 범위는 –12부터 +13까지입니다. 한 자리 오프셋의 경우 앞에 0이 표시됩니다. 다음 예제에서는 사용자 지정 형식 문자열에 zz 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date1))
' Displays -7, -07, -07:00
Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date2))
' Displays +6, +06, +06:00
DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date1));
// Displays -7, -07, -07:00
DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date2));
// Displays +6, +06, +06:00

zzz, zzz 및 추가 z 지정자 사용

DateTime 값에 사용할 경우 시간 및 분 단위로 측정된 UTC에서 로컬 운영 체제의 부호 있는 표준 시간대 오프셋을 나타냅니다. 이 형식 지정자는 인스턴스의 Kind 속성 값은 반영하지 않습니다. 따라서 DateTime 값에는 zzz 형식 지정자를 사용하지 않는 것이 좋습니다.

DateTimeOffset 값에 사용할 경우 시간 및 분 단위로 측정된 UTC에서 DateTimeOffset 값 오프셋을 나타냅니다.

오프셋은 항상 앞에 부호가 표시됩니다. 더하기 부호(+)는 UTC보다 앞선 시간을 나타내고 빼기 부호(-)는 UTC보다 늦은 시간을 나타냅니다. 오프셋 범위는 –12부터 +13까지입니다. 한 자리 오프셋의 경우 앞에 0이 표시됩니다. 다음 예제에서는 사용자 지정 형식 문자열에 zzz 사용자 지정 형식 지정자를 포함합니다.

Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date1))
' Displays -7, -07, -07:00
Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date2))
' Displays +6, +06, +06:00
DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date1));
// Displays -7, -07, -07:00
DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date2));
// Displays +6, +06, +06:00

:

현재 DateTimeFormatInfo.TimeSeparator 속성에 정의된 시간 구분 기호를 나타냅니다. 이 구분 기호는 시, 분, 초를 구분하는 데 사용됩니다.

/

현재 DateTimeFormatInfo.DateSeparator 속성에 정의된 날짜 구분 기호를 나타냅니다. 이 구분 기호는 년, 월, 일을 구분하는 데 사용됩니다.

"

인용 부호(따옴표)로 묶은 문자열을 나타냅니다. 문자열의 리터럴 값을 두 개의 따옴표(") 사이에 표시합니다. 응용 프로그램에서는 각 따옴표 앞에 이스케이프 문자(\)를 넣어야 합니다.

'

인용 부호(아포스트로피)로 묶은 문자열을 나타냅니다. 문자열의 리터럴 값을 두 개의 아포스트로피(') 문자 사이에 표시합니다.

%c

사용자 지정 날짜 및 시간 형식 문자열이 해당 사용자 지정 형식 지정자로만 구성된 경우 사용자 지정 형식 지정자 c와 연관된 결과를 나타냅니다. 즉, 사용자 지정 형식 지정자 d, f, F, h, m, s, t, y, z, H 또는 M을 단독으로 사용하려면 응용 프로그램에서 %d, %f, %F, %h, %m, %s, %t, %y, %z, %H 또는 %M을 지정해야 합니다. 단일 형식 지정자 사용에 대한 자세한 내용은 단일 사용자 지정 형식 지정자 사용을 참조하십시오.

\c

이스케이프 문자를 나타냅니다. 문자 "c" 앞에 이스케이프 문자(\)가 있으면 해당 문자는 리터럴로 표시됩니다. 결과 문자열에 백슬래시 문자를 삽입하려면 응용 프로그램에서 두 개의 이스케이프 문자("\\")를 사용해야 합니다.

기타 문자

다른 모든 문자는 결과 문자열에 복사되며 형식 지정에는 영향을 주지 않습니다.

제어판 설정

제어판에 있는 국가 및 언어 옵션의 설정은 많은 사용자 지정 날짜 및 시간 형식 지정자를 사용한 형식 지정 작업으로 생성되는 결과 문자열에 영향을 줍니다. 이러한 설정은 형식을 제어하는 데 사용되는 값을 제공하는 현재 스레드 문화권과 연결된 DateTimeFormatInfo 개체를 초기화하는 데 사용됩니다. 다른 설정을 사용하는 컴퓨터는 다른 결과 문자열을 생성합니다.

또한 현재 시스템 문화권과 같은 문화권을 나타내는 새 CultureInfo 개체를 인스턴스화하는 데 CultureInfo.CultureInfo(String) 생성자가 사용된 경우 제어판의 국가 및 언어 옵션 항목을 통해 설정된 사용자 지정 내용이 새 CultureInfo 개체에도 적용됩니다. CreateSpecificCulture 메서드를 사용하면 시스템의 사용자 지정된 내용이 반영되지 않은 CultureInfo 개체를 만들 수 있습니다.

DateTimeFormatInfo 속성

형식은 현재 스레드 문화권에 의해 암시적으로 제공되거나 형식 지정 작업을 호출하는 메서드의 IFormatProvider 매개 변수에 의해 명시적으로 제공되는 현재 DateTimeFormatInfo 개체의 속성에 따라 영향을 받습니다. IFormatProvider 매개 변수에 대해 응용 프로그램에서는 문화권을 나타내는 CultureInfo 개체나 DateTimeFormatInfo 개체를 지정해야 합니다.

대부분의 사용자 지정 날짜 및 시간 형식 지정자로 생성되는 결과 문자열은 현재 DateTimeFormatInfo 개체의 속성에 따라 달라집니다. 따라서 응용 프로그램에서는 해당 DateTimeFormatInfo 속성을 변경하여 일부 사용자 지정 날짜 및 시간 형식 지정자에서 생성된 결과를 변경할 수 있습니다. 예를 들어, ddd 형식 지정자는 AbbreviatedDayNames 문자열 배열에서 찾은 약식 요일 이름을 결과 문자열에 추가합니다. 마찬가지로 MMMM 형식 지정자는 MonthNames 문자열 배열에서 찾은 전체 월 이름을 결과 문자열에 추가합니다.

단일 사용자 지정 형식 지정자 사용

사용자 지정 날짜 및 시간 형식 문자열은 둘 이상의 문자로 구성됩니다. 예를 들어, 지정자 h로만 구성된 형식 문자열은 표준 날짜 및 시간 형식 문자열로 해석됩니다. 그러나 이 경우 표준 날짜 및 시간 형식 지정자 h는 없으므로 예외가 throw됩니다.

단일 사용자 지정 날짜 및 시간 형식 지정자를 사용하려면 날짜 및 시간의 앞이나 뒤에 공백을 포함하거나 단일 사용자 지정 날짜 및 시간 지정자 앞에 백분율(%) 형식 지정자를 포함합니다. 예를 들어, 형식 문자열 "h " 및 "%h"는 현재 날짜 및 시간 값이 나타내는 시간을 표시하는 사용자 지정 날짜 및 시간 형식 문자열로 해석됩니다. 공백이 사용된 경우에는 결과 문자열에 공백이 리터럴 문자로 나타납니다.

참고 항목

개념

표준 날짜 및 시간 형식 문자열

참조

System.DateTime

System.IFormatProvider

기타 리소스

형식 지정