我在文件中有以下格式的日期(YYYY-MM-DD HH:MM:SS.millisecs):
1987-04-03 19:17:12.000
当我使用DateTime解析这个字符串时,它只得到日期部分,而没有得到时间部分。有人能告诉我如何将其解析为DateTime对象吗?
使用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);
我开发了一个快速控制台应用程序,它同时显示日期和时间:
string dateTimeString = "1987-04-03 19:17:12.000";
Console.WriteLine(DateTime.Parse(dateTimeString));
Console.ReadLine();
结果输出为:1987年4月3日下午7:17:12
您可能使用的解析值不正确?
DateTime.Parse("1987-04-03 19:17:12.000")返回1987年4月3日下午7:17:12
您要查找的格式字符串是:
yyyy-MM-dd HH:mm:ss.fff
所以
DateTime myDateTime = DateTime.ParseExact(sourceString, "yyyy-MM-dd HH:mm:ss.fff",
CultureInfo.InvarientCulture);
有关更多信息,请参阅MSDN。
您是如何解析它的?如何将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
IFormatProvider culture = new CultureInfo("en-US", true);
DateTime.ParseExact(timeString, "dd/MM/yyyy HH:mm:ss.fff",culture);