我知道我们可以执行以下操作以显示AM PM一段时间。
String.Format("{0:t}", dt); // "4:05 PM"
如果我想为AM显示A,为PM显示P,该怎么办?有格式吗?
答案 0 :(得分:6)
另一种解决方案是使用 System.Globalization.DateTimeFormatInfo 类,它允许您指定格式化AM / PM的方式:
DateTimeFormatInfo timeFormat = new DateTimeFormatInfo();
timeFormat.ShortTimePattern = CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern;
timeFormat.AMDesignator = "A";
timeFormat.PMDesignator = "P";
// Both of these are the same:
string a = DateTime.Now.ToString("t", timeFormat);
string b = String.Format(timeFormat, "{0:t}", DateTime.Now);
你可以用它做完全自定义的东西:
timeFormat.AMDesignator = "cookies";
timeFormat.PMDesignator = "bagels";
下午4:05的输出示例:
4:05 bagels
答案 1 :(得分:3)
你试过吗
String.Format("{0:h:mm t}", DateTime.Now)
答案 2 :(得分:2)
使用“t”:
Console.Out.WriteLine("date1 = {0:hh:mm:ss.F t}", DateTime.Now);
// date1 = 12:49:35.4 A
(http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#tSpecifier)
的更多细节答案 3 :(得分:-1)
不确定,但你可以使用吗? String.Format()。IndexOf(“AM”)> 0? “A”:“P”