2011-06-09 22 views
1

私はファイル(YYYY-MM-DD HH:MM:SS.millisecs):で、次の形式の日付を持っているこの日付形式をDateTimeオブジェクトに解析するにはどうすればよいですか?

1987-04-03 19:17:12.000 

私は、この文字列を解析するためのDateTimeを使用する場合、それが唯一の日付部分を取得します時間の部分を取得しません。誰かがこれをDateTimeオブジェクトに解析する方法を教えてください。

+2

を返す私たちにあなたがしているコードを表示してくださいこの日付を解析するために使用します。これをテストすると完全に動作するからです。 (例えば、短い日付形式で*結果を出力していないと確信していますか?) –

+0

@djacobson:謝罪します。私の印刷物が台無しだった!あなたが正しいです。それは正しく動作します。 – Legend

答えて

5

使用DateTime.ParseExact(参照してください。

var format = "yyyy-MM-dd hh:mm:ss.fff" 
var dt = DateTime.ParseExact(s, format); 

http://msdn.microsoft.com/en-us/library/w2sa9yss.aspxを参照してください。また、CultureInfo.InvariantCultureと同じように、フォーマットプロバイダを追加する必要があります。

var dt = DateTime.ParseExact(s, format, CultureInfo.InvariantCulture); 
0

あなたが探しているフォーマット文字列は次のとおりです。

yyyy-MM-dd HH:mm:ss.fff 

ので

DateTime myDateTime = DateTime.ParseExact(sourceString, "yyyy-MM-dd HH:mm:ss.fff", 
    CultureInfo.InvarientCulture); 

MSDN for more information

+0

はい、私は知っていますが、私は私の更新で示したように、フォーマット文字列をParseに渡すことができます。 –

+0

ええええええええええええええええええええええええええええええええええええええええええええええええええええええ投稿者 –

1

私は迅速なコンソールアプリを行なったし、日付と時刻の両方を見せている:

string dateTimeString = "1987-04-03 19:17:12.000"; 
Console.WriteLine(DateTime.Parse(dateTimeString)); 
Console.ReadLine(); 

出力結果は次のとおりです。 1987年4月3日七時17分12秒PM

結果として得られる解析値が正しく使用されていない可能性がありますか?

0

どのようにそれを解析していますか?どのようにDateTimeを文字列に変換していますか?

DateTime date = DateTime.Parse ("1987-04-03 19:17:12.000"); 
Console.WriteLine (date); 
// yields: 4/3/1987 7:17:12 PM 
Console.WriteLine (date.Date); 
// yields: 4/3/1987 
0
IFormatProvider culture = new CultureInfo("en-US", true); 
DateTime.ParseExact(timeString, "dd/MM/yyyy HH:mm:ss.fff",culture); 
1

DateTime.Parse( "1987年4月3日19:17:12.000")1987年4月3日午前7時17分12秒PM

関連する問題