如何使用DateTime.Parse()创建DateTime对象

时间:2011-08-15 18:16:25

标签: c# parsing datetime

如果我的字符串格式为yyyyMMddHHmmssfff,例如20110815174346225。如何从该String创建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

5 个答案:

答案 0 :(得分:16)

var sDate = "20110815174346225";
var oDate = DateTime.ParseExact(sDate, "yyyyMMddHHmmssfff", CultureInfo.CurrentCulture);

答案 1 :(得分:4)

你必须使用

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

第一个参数字符串将是您的日期。 第二个参数字符串将是您的格式 第三个参数是您的文化信息(即IFormatProvider

所以你会有

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

文化信息是“CultureInfo对象,表示用于解释s的文化。其DateTimeFormat属性返回的DateTimeFormatInfo对象定义s中的符号和格式。”来自MSDN。

这是更多信息的链接。 http://msdn.microsoft.com/en-us/library/kc8s65zs.aspx

答案 2 :(得分:1)

使用DateTime.ParseExact

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

这是MSDN Docs

答案 3 :(得分:0)

您应该使用静态方法DateTime.ParseExact

答案 4 :(得分:0)

我的日期格式为20151221T031901

将此转换为日期时间,我能够使用此格式

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