Section 19.1: 날짜/시간 (DateTime) 서식 지정하기

표준 날짜/시간 서식 지정하기

DateTimeFormatInfo 에서는 간단한 날짜와 시간 정보 표시를 위한 서식 지정자들의 모음을 제공하고 있다. 각 서식 지정자들은 DateTimeFormatInfo 에서 정의하고 있는 특정 서식 패턴 (format pattern) 에 대응하게 되어 있다.

// 날짜/시간 정보 생성하기 DateTime dt = new DateTime(2016,08,01,18,50,23,230); var t = String.Format("{0:t}", dt); // "6:50 PM" 짧은 형식의 시간 정보 var d = String.Format("{0:d}", dt); // "8/1/2016" 짧은 형식의 날짜 정보 var T = String.Format("{0:T}", dt); // "6:50:23 PM" 긴 형식의 시간 정보 var D = String.Format("{0:D}", dt); // "Monday, August 1, 2016" 긴 형식의 날짜 정보 var f = String.Format("{0:f}", dt); // "Monday, August 1, 2016 6:50 PM" 긴 형식의 날짜 정보와 짧은 형식의 시간 정보 var F = String.Format("{0:F}", dt); // "Monday, August 1, 2016 6:50:23 PM" 긴 형식의 날짜 및 시간 정보 var g = String.Format("{0:g}", dt); // "8/1/2016 6:50 PM" 짧은 형식의 날짜 및 시간 정보 var G = String.Format("{0:G}", dt); // "8/1/2016 6:50:23 PM" 짧은 형식의 날짜 정보와 긴 형식의 시간 정보 var m = String.Format("{0:m}", dt); // "August 1" 월/일 정보 var y = String.Format("{0:y}", dt); // "August 2016" 년/월 정보 var r = String.Format("{0:r}", dt); // "SMon, 01 Aug 2016 18:50:23 GMT" RFC1123 규격의 날짜/시간 정보 var s = String.Format("{0:s}", dt); // "2016-08-01T18:50:23" 정렬가능한 날짜/시간 정보 var u = String.Format("{0:u}", dt); // "2016-08-01 18:50:23Z" 정렬 가능한 UTC 형식의 로컬 시간 정보

날짜/시간 서식 사용자 지정하기

아래와 같은 사용자 서식 지정자들이 제공된다:

  • y (년)
  • M (월)
  • d (일)
  • h (12 시간 기준 시)
  • H (24 시간 기준 시)
  • m (분)
  • s (초)
  • f (초에 대한 소수점 이하 자리)
  • F (초에 대한 소수점 이하 자리, 0으로 끝나는 숫자는 제외)
  • t (P.M / A.M)
  • z (표준 시간대)
var year = String.Format("{0:y yy yyy yyyy}", dt); // "16 16 2016 2016" 년 var month = String.Format("{0:M MM MMM MMMM}", dt); // "8 08 Aug August" 월 var day = String.Format("{0:d dd ddd dddd}", dt); // "1 01 Mon Monday" 일 var hour = String.Format("{0:h hh H HH}", dt); // "6 06 18 18" 시간 - 각각 12/24 기준 var minute = String.Format("{0:m mm}", dt); // "50 50" 분 var secound = String.Format("{0:s ss}", dt); // "23 23" 초 var fraction = String.Format("{0:f ff fff ffff}", dt); // "2 23 230 2300" 소수점 이하 자리 var fraction2 = String.Format("{0:F FF FFF FFFF}", dt); // "2 23 23 23" 뒤따르는 0 제거한 버전 var period = String.Format("{0:t tt}", dt); // "P PM" A.M. 혹은 P.M. var zone = String.Format("{0:z zz zzz}", dt); // "+0 +00 +00:00" 표준 시간대

또한 날짜 구분자 표시를 위한 서식 지정자 / (slash) 와 시간 구분자 표시를 위한 서식 지정자 : (colon) 역시 사용 가능하다.

역주: 시간 구분자 표시를 위한 서식 지정자 사용 예는 아래 코드를 참고하세요.

DateTime value = new DateTime(2013, 9, 8, 14, 30, 0); CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); DateTimeFormatInfo dtfi = culture.DateTimeFormat; dtfi.TimeSeparator = "."; Console.WriteLine("{0}", value.ToString("HH:mm", dtfi)); // 출력 결과 : 14.30

코드 예제 확인하기

더욱 상세한 정보는 MSDN 을 확인한다.

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

+ Recent posts