为什么在格式化TimeSpan
时需要转义分隔符,而在格式化DateTime
时则不需要它?
示例:
void foo(TimeSpan elapsedTime)
{
String.Format("Elapsed Time = {0:hh\\:mm\\:ss\\.fff}", elapsedTime);
String.Format("Now = {0:hh:mm:ss.fff}", DateTime.Now);
}
答案 0 :(得分:4)
你需要逃避":"带有" \"的字符(除非您使用逐字字符串,否则必须对其进行转义。)
自定义TimeSpan格式说明符不包含占位符 分隔符号,例如将小时与小时分开的符号, 几分钟或几秒钟的小时数。相反,这些 符号必须作为字符串包含在自定义格式字符串中 文字。例如," dd.hh:mm"将句点(。)定义为 天和小时之间的分隔符,以及冒号(:)作为分隔符 小时和分钟之间。
您可以阅读更多here