왜 왕복 ( "O", "o") 형식 지정자를 사용하지 않습니까?
"O"또는 "o"표준 형식 지정자는 표준 시간대 정보를 보존하고 ISO 8601을 준수하는 결과 문자열을 내보내는 패턴을 사용하는 사용자 지정 날짜 및 시간 형식 문자열을 나타냅니다. DateTime 값의 경우이 형식 지정자는 날짜를 보존하도록 설계되었습니다. 텍스트의 DateTime.Kind 속성과 함께 시간 값. 스타일 매개 변수가 DateTimeStyles.RoundtripKind로 설정된 경우 DateTime.Parse (String, IFormatProvider, DateTimeStyles) 또는 DateTime.ParseExact 메서드를 사용하여 서식이 지정된 문자열을 다시 구문 분석 할 수 있습니다.
"O"또는 "o"표준 형식 지정자는 DateTime 값에 대한 "yyyy '-'MM '-'dd'T'HH ':'mm ':'ss '.'fffffffK"사용자 지정 형식 문자열에 해당합니다. DateTimeOffset 값에 대한 "yyyy '-'MM '-'dd'T'HH ':'mm ':'ss '.'fffffffzzz"사용자 정의 형식 문자열입니다. 이 문자열에서 하이픈, 콜론 및 문자 "T"와 같이 개별 문자를 구분하는 작은 따옴표 쌍은 개별 문자가 변경할 수없는 리터럴임을 나타냅니다. 아포스트로피는 출력 문자열에 나타나지 않습니다.
O "또는"o "표준 형식 지정자 (및"yyyy '-'MM '-'dd'T'HH ':'mm ':'ss '.'fffffffK "사용자 지정 형식 문자열)는 세 가지 방법을 활용합니다. ISO 8601은 DateTime 값의 Kind 속성을 유지하기위한 표준 시간대 정보를 나타냅니다.
public class Example
{
public static void Main()
{
DateTime dat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Unspecified);
Console.WriteLine("{0} ({1}) --> {0:O}", dat, dat.Kind);
DateTime uDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Utc);
Console.WriteLine("{0} ({1}) --> {0:O}", uDat, uDat.Kind);
DateTime lDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Local);
Console.WriteLine("{0} ({1}) --> {0:O}\n", lDat, lDat.Kind);
DateTimeOffset dto = new DateTimeOffset(lDat);
Console.WriteLine("{0} --> {0:O}", dto);
}
}