回答:
私はいつも使用ISO 8601形式(例えば2008-10-31T15:07:38.6875000-05:00
) - date.ToString("o")
。これもXSD日付形式です。これが推奨される形式であり、標準の日付と時刻の形式の文字列ですが、日付と時刻の間に「T」を付けたくない場合は、必要に応じて手動の形式の文字列を使用できます。date.ToString("yyyy-MM-dd HH:mm:ss");
編集:XSDまたはWebサービスから生成されたクラスを使用している場合は、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日時形式を出力します。ただし、組み込みのシリアル化メソッドを使用する場合は、フォーマットについて心配する必要はありません。
XmlConvert
このクラスは、施設のこれらの種類を提供します。特に、DateTimeについては、廃止されたメソッドに注意してください。参照:https : //stackoverflow.com/a/7457718/1288109