c#时间格式化

时间:2012-01-24 17:43:24

标签: c#

我有一个时间场:06:30 PM。 我需要什么格式才能显示为下午6:30。 我试过了:

     String.Format("{0:t}", data.PgTime) 

但仍然是06:30 PM

2 个答案:

答案 0 :(得分:5)

嗯,t是“短时间模式”的standard format string - 所以它是根据当前文化的规则进行格式化的。对我来说,它会显示“18:30”,因为这是适合英国的格式。

你可以 坚持.NET所知的规则,或者你可以使用custom date and time format string来强制使用特定的格式,例如

string text = date.ToString("h:mm tt");

(请注意,这基本上等同于string.Format("{0:h:mm tt}", date),但阅读起来相当简单 - 我建议您在实际格式化多个值时仅使用复合格式。)

通常情况下是一个好主意 - 它表明你比Windows / .NET更了解文化规则,而实际情况不太可能如此。我相信你更了解你个人如何格式化日期和时间,但这与你的文化的标准化惯例不同。

答案 1 :(得分:2)

String.Format("{0:h:mm tt}", data.PgTime)

另见: