如何使用DateTime. parse()创建一个DateTime对象

本文关键字:DateTime 一个 对象 创建 何使用 parse | 更新日期: 2023-09-27 18:05:33

如果我有一个格式为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

如何使用DateTime. parse()创建一个DateTime对象

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

你必须使用

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

第一个参数字符串将是你的日期。第二个参数字符串将是你的格式第三个参数是区域性信息(即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

使用DateTime.ParseExact:

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

这是MSDN文档

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

我有一个格式化为20151221T031901的日期

将其转换为日期时间,我可以使用以下格式

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