我想以这种格式显示日期:c#中的Saturday, March 9, 2013 at 10:00pm
。你能帮助我实现这个目标吗?
DateTime dateTime = new DateTime();
dateTime.ToString(??)
答案 0 :(得分:2)
您想要的格式类似于以下格式字符串
dddd, MMMM d, yyyy 'at' hh:mmtt
实例:http://rextester.com/WUYT65966
示例代码:
var dt = DateTime.Now;
Console.WriteLine(dt.ToString("dddd, MMMM d, yyyy 'at' hh:mmtt"));
输出:
Monday, March 11, 2013 at 08:51AM
答案 1 :(得分:1)
使用此格式字符串。有关详细信息,请参阅MSDN。
string.format("{0:dddd, MMMM d, yyyy} at {0:hh:mmtt}", dateTime);
或相同但用作DateTime.ToString()方法的格式字符串:
dateTime.ToString("dddd, MMMM d, yyyy 'at' 0:hh:mmtt");
如果您想根据特定文化格式化结果,也可以指定CultureInformation(正如@TimSchmelter在评论/他的回答中指出的那样)
CultureInfo desiredCultur = CultureInfo.InvariantCulture;
dateTime.ToString("dddd, MMMM d, yyyy 'at' 0:hh:mmtt", desiredCulture);
答案 2 :(得分:1)
这应该适用于任何文化:
DateTime dt = new DateTime(2013, 03, 09, 22, 00, 00);
var toString = string.Format("{0} at {1}{2}",
dt.ToString("dddd, MMMM d, yyyy", CultureInfo.InvariantCulture),
dt.ToString("hh:mm", CultureInfo.InvariantCulture),
dt.ToString("tt", CultureInfo.InvariantCulture).ToLower());
输出(即使在没有AM / PM指示符的文化中):Saturday, March 9, 2013 at 10:00pm