我需要以格式转换秒数3d, 02:05:45.使用以下功能,我可以将其转换为3.02:05:45.我不知道如何将其转换为我想要的格式.请帮忙.
private string ConvertSecondsToDate(string seconds)
{
TimeSpan t = TimeSpan.FromSeconds(Convert.ToDouble(seconds));
if (t.Days > 0)
return t.ToString(@"d\.hh\:mm\:ss");
return t.ToString(@"hh\:mm\:ss");
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试做这样的事情,t.ToString(@"%d , hh\:mm\:ss")我会收到错误,
输入字符串的格式不正确.
如果我理解正确的话,你可以d使用\像espace 那样的空格和额外的空格;
if (t.Days > 0)
return t.ToString(@"d\d\,\ hh\:mm\:ss");
Run Code Online (Sandbox Code Playgroud)
要么
if (t.Days > 0)
return t.ToString(@"d'd, 'hh\:mm\:ss");
Run Code Online (Sandbox Code Playgroud)
结果将格式化为 3d, 02:05:45
格式字符串中的任何其他未转义字符(包括空格字符)都被解释为自定义格式说明符.在大多数情况下,任何其他未转义字符的存在都会导致FormatException.
有两种方法可以在格式字符串中包含文字字符:
将其用单引号括起来(文字字符串分隔符).
在前面加上反斜杠("\"),它被解释为转义字符.这意味着,在C#中,格式字符串必须是@ -quoted,或者文字字符必须以额外的反斜杠开头.