DateTime.ToString 格式
DateTime.ToString formats
我遇到单行代码问题;(
TBCurrent.Text = DateTime.Now.Subtract(Current).ToString("HH:mm:ss");
这会在计时器滴答时触发。我已经尝试过以下格式:
"HH\:mm\:ss"
"HH':'mm':'ss"
"HH\":\"mm\":\"ss"
如果我只输入 "mm" 或 "ss" 就可以工作,但甚至 "HH mm ss".
您以前遇到过这样的错误吗?或者这是 .NET 版本 (4.0) 相关的?
谢谢,
迈克尔
也就是TimeSpan
formatting (see link),不是DateTime
。试试 "hh':'mm':'ss"
.
认为 TimeSpan
格式与 DateTime
格式相同是一个常见的错误。在 .NET 4.0 之前,您无法格式化 TimeSpan
.
对于DateTime
,有两种写时间的方法,20:50
或8:50 PM
。 "H"
给出 20
,"h"
给出 8
。对于 TimeSpan
,没有这种区别,您必须始终使用小写字母 h
。
这种格式似乎能得到你想要的输出
TBCurrent.Text = DateTime.Now.Subtract(Current).ToString(@"hh\:mm\:ss");
您需要将反斜杠放在冒号之前,因为 Subtract 方法 returns TimeSpan 而不是 DateTime 和 TimeSpan 对于 Custom Format String 有不同的规则。并且不要忘记 @ 逐字转义反斜杠
我遇到单行代码问题;(
TBCurrent.Text = DateTime.Now.Subtract(Current).ToString("HH:mm:ss");
这会在计时器滴答时触发。我已经尝试过以下格式:
"HH\:mm\:ss"
"HH':'mm':'ss"
"HH\":\"mm\":\"ss"
如果我只输入 "mm" 或 "ss" 就可以工作,但甚至 "HH mm ss".
您以前遇到过这样的错误吗?或者这是 .NET 版本 (4.0) 相关的?
谢谢, 迈克尔
也就是TimeSpan
formatting (see link),不是DateTime
。试试 "hh':'mm':'ss"
.
认为 TimeSpan
格式与 DateTime
格式相同是一个常见的错误。在 .NET 4.0 之前,您无法格式化 TimeSpan
.
对于DateTime
,有两种写时间的方法,20:50
或8:50 PM
。 "H"
给出 20
,"h"
给出 8
。对于 TimeSpan
,没有这种区别,您必须始终使用小写字母 h
。
这种格式似乎能得到你想要的输出
TBCurrent.Text = DateTime.Now.Subtract(Current).ToString(@"hh\:mm\:ss");
您需要将反斜杠放在冒号之前,因为 Subtract 方法 returns TimeSpan 而不是 DateTime 和 TimeSpan 对于 Custom Format String 有不同的规则。并且不要忘记 @ 逐字转义反斜杠