DateTime.ParseExact在c#中省略了毫秒数?

use*_*657 4 .net c# datetime

我想在c#中将字符串转换为Datetime.String datestring = 2013/03/18 10:54:07.679

  1. 我试过DateTime dt=DateTime.ParseExact(datestring, "yyyy/MM/dd HH:mm:ss.fff",null); 结果是{3/18/2013 10:54:07 AM}

  2. 我试过 DateTime.TryParseExact(datestring,"yyyy/MM/dd HH:mm:ss.fff",CultureInfo.InvariantCulture,DateTimeStyles.None,out dttt); 结果是{3/18/2013 10:54:07 AM}

在上述两种情况下,它都省略了毫秒(679).

如何通过保持毫秒来正确地将其转换为日期时间?

Sud*_*udi 12

它不是在遗漏你只是通过调试器检查,调试器使用AM或PM显示它,它显示毫秒显示毫秒.

试试这个:

DateTime dt=DateTime.ParseExact(datestring, "yyyy/MM/dd HH:mm:ss.fff",null);
Console.WriteLine(dt.ToString("yyyy/MM/dd HH:mm:ss.fff"));
Run Code Online (Sandbox Code Playgroud)

编辑:从你的评论But I need the answer in Datetime instead of string

你已经有了DateTime,MilliSeconds只包括调试器没有显示因为(如注释中所述Ant P)调试器调用ToString()方法的DateTime无参数重载,显示没有MilliSeconds.

  • 具体来说,调试器只调用无参数的“ToString”重载,其格式如问题所示。 (2认同)