我想显示毫秒,但ToString将毫秒显示为00000。
我提供下面的代码,每一步都有输出。
String currentDateTime = DateTime.Now.ToString("G");
输出 - 7/27/2011 3:05:31 PM
System.DateTime dateTime = System.DateTime.Parse(currentDateTime);
输出 - 7/27/2011 3:05:31 PM
String dateTimeStr = dateTime.ToString("hh.mm.ss.ffffff", "en-US");
输出 - 03.05.32.000000
我想用毫秒显示输出,例如03.05.32.33456
如果我使用ParseExact而不是Parse,我会遇到异常。我知道我可以使用TryParseExact,但该解决方案可能不合适,因为我需要一个通用的解决方案来解决这个问题。
有人可以帮助我。
提前致谢。 Sujay
答案 0 :(得分:5)
不确定为什么要从DateTime移动 - > string - >约会时间 这应该显示毫秒
DateTime dt = DateTime.Now;
dt.ToString("hh:mm:ss.fff")
如果您没有在这些行上查找其他信息,请编辑帖子
答案 1 :(得分:4)
通过使用先前从字符串构建的相同dateTime对象(“7/27/2011 3:05:31 PM”,没有任何毫秒),您将丢失毫秒。
如果您要将Now转换为字符串,则不会丢失毫秒:
String dateTimeStr = DateTime.Now.ToString("hh.mm.ss.ffffff", "en-US");
答案 2 :(得分:3)
在您的代码中,您首先使用标准的“G”格式将DateTime序列化为字符串,该格式没有毫秒数。所以肯定的是,当你解析这个字符串后,你得到000000:
String currentDateTime = DateTime.Now.ToString("G");
Console.WriteLine(currentDateTime);
System.DateTime dateTime = System.DateTime.Parse(currentDateTime);
Console.WriteLine(dateTime.ToString("hh.mm.ss.ffffff"));