与えられた条件:
DateTime.UtcNow
同じ値を表す文字列を取得するにはどうすればいいですか?8601 規格準拠した形式ですか?
ISO 8601 では、同様の形式がいくつか定義されていることに注意してください。私が探している具体的な形式は次のとおりです。
yyyy-MM-ddTHH:mm:ssZ
ベストアンサー1
読者への注意:何人かのコメント投稿者が、この回答にいくつかの問題点を指摘しています (特に最初の提案に関連して)。詳細については、コメント セクションを参照してください。
// Do not use this
DateTime.UtcNow.ToString("yyyy-MM-ddTHH\\:mm\\:ss.fffffffzzz", CultureInfo.InvariantCulture);
使用カスタム日付時刻フォーマット
すると、 2008-09-22T13:57:31.2311892-04:00のような日付が表示されます。
別の方法は次のとおりです。
// Prefer this, to avoid having to manually define a framework-provided format
DateTime.UtcNow.ToString("o", CultureInfo.InvariantCulture);
標準を使用する「往復」スタイル(ISO 8601) を使用すると、
2008-09-22T14:01:54.9571247Z になります。
指定された形式を取得するには、次を使用します。
DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture)