如何将此日期格式解析为DateTime对象?

时间:2011-06-09 20:54:02

标签: c# parsing datetime

我在文件中有以下格式的日期(YYYY-MM-DD HH:MM:SS.millisecs):

1987-04-03 19:17:12.000

当我使用DateTime来解析此字符串时,它只获取日期部分而不会获得时间部分。有人可以告诉我如何将其解析为DateTime对象吗?

6 个答案:

答案 0 :(得分:5)

使用DateTime.ParseExact()。

var format = "yyyy-MM-dd hh:mm:ss.fff"
var dt = DateTime.ParseExact(s, format);

http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx。您还应该添加格式提供程序,就像CultureInfo.InvariantCulture。

var dt = DateTime.ParseExact(s, format, CultureInfo.InvariantCulture);

答案 1 :(得分:1)

我做了一个快速的控制台应用程序,它显示了日期和时间:

string dateTimeString = "1987-04-03 19:17:12.000";
Console.WriteLine(DateTime.Parse(dateTimeString));
Console.ReadLine();

结果输出是: 4/3/1987 7:17:12 PM

您可能错误地使用了生成的解析值?

答案 2 :(得分:1)

DateTime.Parse(“1987-04-03 19:17:12.000”)返回4/3/1987 7:17:12 PM

答案 3 :(得分:0)

您要查找的格式字符串是:

yyyy-MM-dd HH:mm:ss.fff

所以

DateTime myDateTime = DateTime.ParseExact(sourceString, "yyyy-MM-dd HH:mm:ss.fff",
    CultureInfo.InvarientCulture);

请参阅MSDN for more information

答案 4 :(得分:0)

你是如何解析它的?你如何将DateTime转换为字符串?

DateTime date = DateTime.Parse ("1987-04-03 19:17:12.000");
Console.WriteLine (date);
// yields: 4/3/1987 7:17:12 PM
Console.WriteLine (date.Date);
// yields: 4/3/1987

答案 5 :(得分:0)

IFormatProvider culture = new CultureInfo("en-US", true);
DateTime.ParseExact(timeString, "dd/MM/yyyy HH:mm:ss.fff",culture);
相关问题