Почему DateTime.Сейчас.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);
}
что здесь не так? Это проблема с потоками?
2 ответов
нет необходимости явно обращаться к свойствам Date и TimeOfDay экземпляра DateTime. Вы можете упростить свой код следующим образом:
rtbAdd(String.Format("Submitted on {0:MM/dd/yyyy} at {0:HH:mm:ss.ffffff}", DateTime.Now));
TimeOfDay
is TimeSpan
и у него разные параметры форматирования чем DateTime
. Вам также нужно бежать ':'
:
currentTime.TimeOfDay.ToString("hh\:mm\:ss\.ffffff")
вы образец пытались использовать "HH"
формат, который является определена в DateTime
, а не TimeSpan
.