2

「ccyymmdd」の一般的な形式の日付文字列をC#のDateTimeオブジェクトに変換するにはどうすればよいですか?

たとえば、「20100715」を DateTime オブジェクトに変換するにはどうすればよいでしょうか。

お願い - Microsoft Tech Docs への RTFM リンクはありません。

どうもありがとう...

4

6 に答える 6

7
using System.Globalization;

DateTime.ParseExact("20100715", "yyyyMMdd", CultureInfo.InvariantCulture);
于 2010-07-15T15:51:57.970 に答える
3

var dt = DateTime.Parse("your date string").ToString("yymmdd");

cc有効な日付フォーマットオプションではないと思いますか?

リチャードが指摘しているDateTime.ParseExactように、解析にカルチャ情報を使用できるwhichを使用することもDateTime.TryParseExact、と同じを使用することもできますDateTime.ParseExactが、例外がある場合は、例外が発生するのではなく、nullの日付が返されます。

編集:

質問が更新され、aDateTimeが具体的に返されるようになりました。その場合.ToString()、私の答えの一部を省略できます。呼び出すとオブジェクトDateTime.Parse()が返されDateTimeます。を介して日付値を取得する場合はToString()、必要なフォーマット文字列を渡すだけで、目的のフォーマットで日付を取得できます。乾杯。ジャス。

于 2010-07-15T15:37:36.053 に答える
1

これこれを見てください

DateTime.Parse();
DateTime.ParseExact();

そして言及する価値がある

DateTime.TryParse();
于 2010-07-15T15:38:10.237 に答える
1

日付文字列がすでにサニタイズされている場合(マイクの回答から借用):

DateTime dt = DateTime.ParseExact("20100715", "yyyyMMdd", CultureInfo.InvariantCulture);

さもないと:

DateTime dt;
if (!DateTime.TryParseExact("20100715", "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
    // Handle bad date
}
于 2010-07-15T15:39:58.377 に答える
0

System.DateTime.Parse(yourDateString)

メソッドが最初に処理できる形式に文字列を操作する必要がある場合があります。

http://msdn.microsoft.com/en-us/library/1k1skd40.aspxを参照してください

詳細については

于 2010-07-15T15:39:23.057 に答える
0

「cc」の部分が何であるかはわかりませんが、いくつかのオプションがあります。

DateTime.Parse(string)は文字列を変換できる場合がありますが、文字列が非標準形式の場合は、最初に事前変換を行う必要がある場合があります。

于 2010-07-15T15:40:20.623 に答える