【发布时间】:2009-01-15 21:56:57
【问题描述】:
有没有一种简洁的方法可以将 DateTime 值格式化为“CST 2008 年 10 月 10 日上午 10:43”。
我需要正确的缩写和小写的“am”(或“pm”)等。
我自己做过,但很丑,所以我正在寻找不同的方法。
谢谢。
【问题讨论】:
标签: c# datetime formatting
有没有一种简洁的方法可以将 DateTime 值格式化为“CST 2008 年 10 月 10 日上午 10:43”。
我需要正确的缩写和小写的“am”(或“pm”)等。
我自己做过,但很丑,所以我正在寻找不同的方法。
谢谢。
【问题讨论】:
标签: c# datetime formatting
由于“tt”格式字符串说明符只输出大写,您必须自己修改。此外,DateTimes 不存储时区的名称,只存储一个偏移量。
DateTime dt = DateTime.Now;
string ampm = dt.ToString("tt").ToLower();
string output = string.Format("{0:MMM. d, yyyy h:mm}{1}", dt, ampm);
【讨论】:
DateTimeObject.ToString("MMM. dd, yyyy hh:mmtt");
不确定 CST。
如果您想要更多组合,请查看此链接:
http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm
【讨论】:
假设您的服务器配置为 CST:
string format = dateTime.ToString("mmm. dd, YYYY HH:MM tt ")
.Replace(" AM ", "am")
.Replace(" PM ", "pm") +
" CST";
【讨论】:
这行得通吗?
myDateTime.ToString("MMM. d, yyyy hh:mmtt \C\S\T");
【讨论】: