C# 为什么DateTime.Now.TimeOfDay.ToString(“HH:mm:ss.ffffff”)抛出FormatException?
我在抛出FormatException时遇到了类似的问题。我的代码很简单:C# 为什么DateTime.Now.TimeOfDay.ToString(“HH:mm:ss.ffffff”)抛出FormatException?,c#,datetime,formatexception,C#,Datetime,Formatexception,我在抛出FormatException时遇到了类似的问题。我的代码很简单: void Orders_OnSubmit() { DateTime CurrentTime = DateTime.Now; rtbAdd( "Submitted on " + CurrentTime.Date.ToString("MM/dd/yyyy") + " at " + CurrentTime.TimeOfDay.ToString("HH:mm:ss.ffffff") ); } void rtbAdd
void Orders_OnSubmit()
{
DateTime CurrentTime = DateTime.Now;
rtbAdd( "Submitted on " + CurrentTime.Date.ToString("MM/dd/yyyy") + " at " + CurrentTime.TimeOfDay.ToString("HH:mm:ss.ffffff") );
}
void rtbAdd(String S)
{
DefaultDelegate del = delegate()
{
rtb.AppendText(S + "\n");
};
this.Invoke(del);
}
这里怎么了?这是线程问题吗?
TimeOfDay
属于TimeSpan
类型,它与DateTime
不同。您还需要转义冒号(:
)
您的示例尝试使用
“HH”
格式,该格式不适用于TimeSpan
,无需显式访问DateTime实例的Date和TimeOfDay属性。您可以这样简化代码:
rtbAdd(String.Format("Submitted on {0:MM/dd/yyyy} at {0:HH:mm:ss.ffffff}", DateTime.Now));
异常在哪里抛出?@user1935160:没有必要将一天中的时间与DateTime实例分开。只需使用
CurrentTime.ToString(“HH:MM:ss.ffffff”)
。日期部分也是如此。非常感谢您的详细和有用的回复!杰出的我花了两个小时在MSDN上阅读,在测试了代码中的一些排列之后,我感到毛骨悚然,这让我一事无成,而且只花了你几分钟的专家时间!再次感谢。
rtbAdd(String.Format("Submitted on {0:MM/dd/yyyy} at {0:HH:mm:ss.ffffff}", DateTime.Now));