将日期时间转换为C#中显示的毫秒数

Suj*_*osh 4 c# datetime winforms formats

我想显示毫秒,但ToString显示毫秒为00000.

我提供下面的代码,每一步都有输出.

  1. String currentDateTime = DateTime.Now.ToString("G");

    输出 - 7/27/2011 3:05:31 PM

  2. System.DateTime dateTime = System.DateTime.Parse(currentDateTime);

    输出 - 7/27/2011 3:05:31 PM

  3. String dateTimeStr = dateTime.ToString("hh.mm.ss.ffffff", "en-US");

输出 - 03.05.32.000000

我想用毫秒显示输出,例如03.05.32.33456

如果我使用ParseExact而不是Parse,我会得到一个例外.我知道我可以使用TryParseExact,但该解决方案可能不合适,因为我需要这个问题的通用解决方案.

有人可以帮助我吗?

提前致谢.Sujay

mse*_*ant 6

通过使用您之前从字符串(“7/27/2011 3:05:31 PM”没有任何毫秒)构建的相同 dateTime 对象,您将丢失毫秒。

如果直接将 Now 转换为字符串,则不会丢失毫秒:

String dateTimeStr = DateTime.Now.ToString("hh.mm.ss.ffffff", "en-US");
Run Code Online (Sandbox Code Playgroud)


V4V*_*tta 5

不确定为什么要从DateTime移动 - > string - > DateTime这应该显示毫秒

DateTime dt = DateTime.Now;
dt.ToString("hh:mm:ss.fff") 
Run Code Online (Sandbox Code Playgroud)

如果您没有在这些行上查找其他信息,请编辑帖子