답변:
난 항상 사용 ISO 8601 형식 (예 : 2008-10-31T15:07:38.6875000-05:00
) - date.ToString("o")
. 그것은이다 XSD 날짜 형식 뿐만 아니라. 날짜와 시간 사이에 'T'를 표시하지 않으려면 필요한 경우 수동 형식 문자열을 사용할 수 있지만 기본 형식과 표준 날짜 및 시간 형식 문자열입니다 .date.ToString("yyyy-MM-dd HH:mm:ss");
편집 : XSD 또는 웹 서비스에서 생성 된 클래스를 사용하는 경우 DateTime 인스턴스를 클래스 속성에 직접 할당 할 수 있습니다. XML 텍스트를 작성하는 경우 위를 사용하십시오.
편집 : 이것은 나쁜 조언입니다. 위와 같이 "o"를 사용합니다. "s"는 잘못된 일을 합니다.
나는 항상 이것을 사용합니다 :
dateTime.ToUniversalTime().ToString("s");
스키마가 다음과 같으면 올바른 것입니다.
<xs:element name="startdate" type="xs:dateTime"/>
결과는 다음과 같습니다.
<startdate>2002-05-30T09:00:00</startdate>
여기에서 자세한 정보를 얻을 수 있습니다. http://www.w3schools.com/xml/schema_dtypes_date.asp
XML 문자열을 수동으로 어셈블하는 var.ToUniversalTime().ToString("yyyy-MM-dd'T'HH:mm:ss.fffffffZ"));
경우 공식 XML 날짜 시간 형식을 출력합니다. 그러나 내장 된 직렬화 방법을 사용하면 형식에 대해 걱정할 필요가 없습니다.
DTD는 무엇을 말해야합니까?
XML 파일이 다른 기존 소프트웨어 (예 : SOAP)와 통신하기위한 것이라면 해당 소프트웨어가 예상하는 바를 확인하십시오.
XML 파일이 존재하지 않는 소프트웨어 (예 : 작성중인 소프트웨어)와의 직렬화 또는 통신 용인 경우이를 정의 할 수 있습니다. 이 경우 선택한 언어로 구문 분석하기 쉽고 사람이 읽기 쉬운 것을 제안합니다. 예를 들어, 귀하의 언어 (VB.NET 또는 C # .NET 또는 기타)가 ISO 날짜 (YYYY-MM-DD)를 쉽게 구문 분석 할 수있는 경우 이것이 제가 제안하는 것입니다.
XmlConvert
클래스는 시설의 이러한 종류의를 제공합니다. 특히 DateTimes에 대해서는 사용되지 않는 메서드에주의하십시오. 참조 : https://stackoverflow.com/a/7457718/1288109