【发布时间】:2011-01-14 06:37:19
【问题描述】:
我想用这种格式显示日期:
- MM/dd/yyyy HH:mm:ss tt
例如:
- 01/04/2011 03:34:03 PM
但是我对下面的代码有问题
class Program
{
static void Main(string[] args)
{
DateTime dt = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 0, 0, 0);
string displayedDate = dt.ToString("MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
Console.WriteLine(displayedDate);
Console.Read();
}
}
显示:
01/04/2011 12:00:00 AM
而不是
01/04/2011 00:00:00 AM
有人知道为什么吗?
谢谢!
【问题讨论】:
-
在 AM/PM 系统中,午夜表示为 12:00:00 AM。
-
好的,这就是混乱。我认为午夜被表示为 00:00:00 AM 而不是 12:00:00 AM :-/
-
这是一个合理的混淆。在美国,12 小时制更为流行,其中 12:00 AM 是午夜。据我了解,在其他大多数地方,24 小时制是首选,因为它没有歧义。在该系统下,午夜确实是 0:00(不需要 AM/PM 说明符)。无论如何,很高兴看到您的问题得到解决!
标签: c# .net datetime datetime-format