web-dev-qa-db-ja.com

DateTime.Parse()を使用してDateTimeオブジェクトを作成する方法

yyyyMMddHHmmssfffの形式の文字列がある場合、たとえば20110815174346225。その文字列からDateTimeオブジェクトを作成するにはどうすればよいですか。私は以下を試しました

DateTime TimeStamp = DateTime.Parse(Data[1], "yyyyMMddHHmmssfff");

ただし、次のエラーが発生します。

Error   1   The best overloaded method match for 'System.DateTime.Parse(string, System.IFormatProvider)' has some invalid arguments C:\Documents and Settings\rkelly1\Desktop\sd\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 67  29  WindowsFormsApplication1


Error   2   Argument 2: cannot convert from 'string' to 'System.IFormatProvider'    C:\Documents and Settings\rkelly1\Desktop\sd\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 67  53  WindowsFormsApplication1
14
Richard
var sDate = "20110815174346225";
var oDate = DateTime.ParseExact(sDate, "yyyyMMddHHmmssfff", CultureInfo.CurrentCulture);
18
Juan Ayala

あなたは使用する必要があります

DateTime time = DateTime.ParseExact(String,String, IFormatProvider);

最初の引数文字列が日付になります。 2番目の引数文字列がフォーマットになります3番目の引数はカルチャ情報(IFormatProvider)です

だからあなたは持っているでしょう

DateTime TimeStamp = DateTime.ParseExact(Data[1],"yyyyMMddHHmmssfff",CultureInfo.InvariantCulture);

カルチャ情報は、「sの解釈に使用されるカルチャを表すCultureInfoオブジェクトです。DateTimeFormatプロパティによって返されるDateTimeFormatInfoオブジェクトは、sのシンボルとフォーマットを定義します。」 MSDNから。

詳細については、こちらのリンクをご覧ください。 http://msdn.Microsoft.com/en-us/library/kc8s65zs.aspx

4
Kevin

使用する DateTime.ParseExact

DateTime dateTime = DateTime.ParseExact("[Your Date Here]",
                                        "yyyyMMddHHmmssfff",  
                                        CultureInfo.InvariantCulture);

これが MSDN Docs です。

1
James Hill

20151221T031901の形式の日付がありました

これを日時に変換するために、この形式を使用することができました

DateTime.ParseExact("20151221T031901","yyyyMMddTHHmmss" , System.Globalization.CultureInfo.CurrentCulture)
0
BraveNewMath

静的メソッドDateTime.ParseExactを使用する必要があります。

0
cjk