为什么DateTime.Now.TimeOfDay.ToString(“HH:mm:ss.ffffff”)抛出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(String S) { DefaultDelegate del = delegate() { rtb.AppendText(S + "\n"); }; this.Invoke(del); }
这有什么不对? 这是一个线程问题吗?
无需显式访问DateTime实例的Date和TimeOfDay属性。 您可以像这样简化代码:
rtbAdd(String.Format("Submitted on {0:MM/dd/yyyy} at {0:HH:mm:ss.ffffff}", DateTime.Now));
TimeOfDay
是TimeSpan
,它具有与DateTime
不同的格式选项 。 你还需要逃避':'
:
currentTime.TimeOfDay.ToString("hh\\:mm\\:ss\\.ffffff")
您的示例尝试使用为DateTime
定义的 "HH"
格式,但不为TimeSpan
定义 。