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

C# 将日期时间转换为在C中显示毫秒#,c#,winforms,datetime,formats,C#,Winforms,Datetime,Formats,我想显示毫秒,但ToString将毫秒显示为00000 我将提供下面的代码,以及每个步骤的输出 String currentDateTime=DateTime.Now.ToString(“G”) 输出-2011年7月27日下午3:05:31 System.DateTime DateTime=System.DateTime.Parse(currentDateTime) 输出-2011年7月27日下午3:05:31 String dateTimeStr=dateTime.ToString(“hh

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

我将提供下面的代码,以及每个步骤的输出

  • String currentDateTime=DateTime.Now.ToString(“G”)

    输出-2011年7月27日下午3:05:31

  • System.DateTime DateTime=System.DateTime.Parse(currentDateTime)

    输出-2011年7月27日下午3:05:31

  • String dateTimeStr=dateTime.ToString(“hh.mm.ss.ffffff”,“en-US”)

  • 产出-03.05.32.000000

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

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

    有人能帮我吗

    提前谢谢。
    Sujay

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

    DateTime dt = DateTime.Now;
    dt.ToString("hh:mm:ss.fff") 
    

    如果您没有在这些行中查找其他信息,请编辑文章。在您的代码中,您首先使用标准的“G”格式将日期时间序列化为字符串,该格式没有毫秒。当然,当您重新解析此字符串时,会得到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"));
    

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

    如果现在直接转换为字符串,则不会丢失毫秒数:

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

    我想第三种选择是正确的。DateTime结构的内容的毫秒数可能等于零。不,毫秒数不是零。请看被接受的答案。这正是我的意思。第三个任务是正确的,而前两个任务没有意义。你为什么要全部使用它们?彼得-请看3的输出。我还使用了dateTime.ToString(“hh.mm.ss.ffffff”,“en-US”),但是我得到了一个错误的输出。毫秒是0000。你是说序列化吗,是的,我说了。我希望输出没有序列化。你的代码不会显示毫秒。请仔细阅读我的帖子。