정렬 가능(Sortable) 표준 형식 지정자란?
C#에서 정렬 가능(Sortable) 표준 형식 지정자는 "s"로 표현되며, 내부적으로 하나의 사용자 지정 날짜 및 시간 형식 문자열을 나타냅니다.
이 형식 문자열은 DateTimeFormatInfo.SortableDateTimePattern 속성에 의해 정의되며, 국제 표준인 ISO 8601을 기반으로 합니다. 덕분에 생성된 문자열은 문화권(culture)에 영향을 받지 않고 항상 일관된 결과를 반환하므로, 데이터 정렬이나 파일명 생성 등 순서 비교가 필요한 상황에서 특히 유용합니다.
사용자 지정 형식 문자열
"s" 지정자가 실제로 사용하는 형식 문자열은 다음과 같습니다.
yyyy'-'MM'-'dd'T'HH':'mm':'ss
- yyyy: 4자리 연도
- MM: 2자리 월
- dd: 2자리 일
- T: 날짜와 시간을 구분하는 리터럴 문자
- HH: 24시간 형식의 시(00~23)
- mm: 분
- ss: 초
예제 코드
다음 예제는 "s" 형식 지정자를 사용하여 DateTime 객체를 문자열로 변환하는 방법을 보여줍니다.
using System;
class Demo {
static void Main() {
DateTime date = new DateTime(2018, 9, 5, 2, 12, 40);
Console.WriteLine(date.ToString("s"));
}
}실행 결과
2018-09-05T02:12:40
출력 결과를 보면 날짜와 시간이 T 문자로 구분된 yyyy-MM-ddTHH:mm:ss 형태로 변환된 것을 확인할 수 있습니다. 이 형식은 문자열 그대로 사전순으로 정렬해도 시간순 정렬과 동일한 결과를 얻을 수 있어, 로그 기록이나 데이터 직렬화 작업에서 널리 활용됩니다.