「ccyymmdd」の一般的な形式の日付文字列をC#のDateTimeオブジェクトに変換するにはどうすればよいですか?
たとえば、「20100715」を DateTime オブジェクトに変換するにはどうすればよいでしょうか。
お願い - Microsoft Tech Docs への RTFM リンクはありません。
どうもありがとう...
「ccyymmdd」の一般的な形式の日付文字列をC#のDateTimeオブジェクトに変換するにはどうすればよいですか?
たとえば、「20100715」を DateTime オブジェクトに変換するにはどうすればよいでしょうか。
お願い - Microsoft Tech Docs への RTFM リンクはありません。
どうもありがとう...
using System.Globalization;
DateTime.ParseExact("20100715", "yyyyMMdd", CultureInfo.InvariantCulture);
var dt = DateTime.Parse("your date string").ToString("yymmdd");
cc
有効な日付フォーマットオプションではないと思いますか?
リチャードが指摘しているDateTime.ParseExact
ように、解析にカルチャ情報を使用できるwhichを使用することもDateTime.TryParseExact
、と同じを使用することもできますDateTime.ParseExact
が、例外がある場合は、例外が発生するのではなく、nullの日付が返されます。
編集:
質問が更新され、aDateTime
が具体的に返されるようになりました。その場合.ToString()
、私の答えの一部を省略できます。呼び出すとオブジェクトDateTime.Parse()
が返されDateTime
ます。を介して日付値を取得する場合はToString()
、必要なフォーマット文字列を渡すだけで、目的のフォーマットで日付を取得できます。乾杯。ジャス。
日付文字列がすでにサニタイズされている場合(マイクの回答から借用):
DateTime dt = DateTime.ParseExact("20100715", "yyyyMMdd", CultureInfo.InvariantCulture);
さもないと:
DateTime dt;
if (!DateTime.TryParseExact("20100715", "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
// Handle bad date
}
System.DateTime.Parse(yourDateString)
メソッドが最初に処理できる形式に文字列を操作する必要がある場合があります。
http://msdn.microsoft.com/en-us/library/1k1skd40.aspxを参照してください
詳細については
「cc」の部分が何であるかはわかりませんが、いくつかのオプションがあります。
DateTime.Parse(string)は文字列を変換できる場合がありますが、文字列が非標準形式の場合は、最初に事前変換を行う必要がある場合があります。