Kyl*_*yle 5 .net asp.net datetime
有没有办法使用DateTime.ToString()方法将时间部分的meridiem显示为"AM"而不是"AM"?我尝试使用掩码"tt",但这只输出"AA"
Pao*_*sco 14
您可以重新定义AMDesignator
和的PMDesignator
属性 CultureInfo.DateTimeFormat
,然后将文化指定为格式提供者:
using System;
using System.Globalization;
class Program {
public static void Main() {
CultureInfo c = (CultureInfo)CultureInfo.CurrentCulture.Clone();
c.DateTimeFormat.AMDesignator = "A.M.";
c.DateTimeFormat.PMDesignator = "P.M.";
Console.WriteLine(DateTime.Now.ToString("tt",c));
}
}
Run Code Online (Sandbox Code Playgroud)
jas*_*son 12
用途"t.\\M"
:
DateTime time = DateTime.Now;
string s = time.ToString("yyyy.MM.dd hh:mm:ss t.\\M.");
Console.WriteLine(s);
Run Code Online (Sandbox Code Playgroud)
输出:
2010.02.02 09:26:14 A.M.
Run Code Online (Sandbox Code Playgroud)
说明:t
给出了AM/PM指示器(本地化指示符可以被检索的第一个字符DateTimeFormatInfo.AMDesignator
和DateTimeFormatInfo.PMDesignator
).该\\M
逃逸的M
,这样DateTime.ToString
不会把它解释为格式字符串的一部分,打印月份的数值.
请注意,一旦执行此操作,您就明确地对文化不敏感.例如,在日本,AM/PM指示符的第二个字符不同,而不是第一个字符.
归档时间: |
|
查看次数: |
5967 次 |
最近记录: |