.net 字符串的日期时间格式?

.net 字符串的日期时间格式?,.net,datetime,.net,Datetime,如何将字符串转换为日期时间格式?例如,如果我有一个字符串,如: “24/10/2008” 如何将其转换为日期时间格式?使用: (你应该考虑你到底想分析什么样的文化)。 编辑:其他答案将“null”指定为第三个参数-这相当于使用Thread.CurrentThread.CurrentCulture 有关其他格式,请参见MSDN中的。请尝试以下内容 DateTime date = System.DateTime.ParseExact(str, "dd/MM/yyyy", null); 就时间而言,

如何将字符串转换为日期时间格式?例如,如果我有一个字符串,如:

“24/10/2008”

如何将其转换为日期时间格式?

使用:

(你应该考虑你到底想分析什么样的文化)。 编辑:其他答案将“null”指定为第三个参数-这相当于使用

Thread.CurrentThread.CurrentCulture

有关其他格式,请参见MSDN中的。

请尝试以下内容

DateTime date = System.DateTime.ParseExact(str, "dd/MM/yyyy", null);
就时间而言,这可能会奏效

DateTime date = System.DateTime.ParseExact(str, "HH:mm:ss", null);

如果您不知道格式,请使用:

DateTime d = DateTime.Parse(dateString);
这将尝试使用当前区域性的格式规则(例如,英语(US)“en US”、德语“de de”、…)解析日期和时间的字符串表示形式。它尝试忽略无法识别的数据,并用当前日期填充年、月和日的缺失值(例如,如果仅解析包含时间的字符串)

如果知道字符串的已用区域性与当前区域性不同,可以指定要使用的区域性:

CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US");
DateTime d = DateTime.Parse(dateString, culture);
您应该始终使用try-catch块围绕转换,因为字符串必须符合可识别的模式。或者,您也可以使用方法
DateTime.TryParse(dateString,out DateTime)
测试字符串的有效性,该方法在成功时返回true,并在
DateTime
中返回结果;否则就错了

如果您知道确切的格式,您可以使用

DateTime d = DateTime.ParseExact(dateString, "dd/MM/yyyy", null);

(其他格式字符串请参见MSDN网站)。

如果您不确定日期字符串的格式,我还建议您查看。这样可以避免在解析例程中处理非常昂贵的异常

如果你每次都确切地知道日期的格式,我也会支持Jon Skeet的建议。

还有.TryParseExact(),以充分利用这两个世界。
CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US");
DateTime d = DateTime.Parse(dateString, culture);
DateTime d = DateTime.ParseExact(dateString, "dd/MM/yyyy", null);