如何解析异常日期字符串

时间:2010-11-21 16:26:38

标签: c#

您好我有一个不寻常的日期格式,我想解析为DateTime对象

string date ="20101121";  // 2010-11-21
string time ="13:11:41:  //HH:mm:ss

我想使用DateTime.Tryparse(),但我似乎无法开始这个。

感谢您的帮助。

3 个答案:

答案 0 :(得分:9)

string date ="20101121"; // 2010-11-21
string time ="13:11:41"; //HH:mm:ss

DateTime value;

if (DateTime.TryParseExact(
    date + time,
    "yyyyMMddHH':'mm':'ss", 
    new CultureInfo("en-US"),
    System.Globalization.DateTimeStyles.None,
    out value))
{
    Console.Write(value.ToString());
}
else
{
    Console.Write("Date parse failed!");
}

编辑:根据Frédéric的评论将时间分隔符标记用单引号括起来

答案 1 :(得分:5)

您可以将DateTime.TryParseExact()静态方法与custom format

一起使用
using System.Globalization;

string date = "20101121"; // 2010-11-21
string time = "13:11:41"; // HH:mm:ss

DateTime convertedDateTime;
bool conversionSucceeded = DateTime.TryParseExact(date + time,
    "yyyyMMddHH':'mm':'ss", CultureInfo.InvariantCulture,
    DateTimeStyles.None, out convertedDateTime);

答案 2 :(得分:3)

DateTime.TryParseExact()