我想以这种格式显示日期:Saturday, March 9, 2013 at 10:00pm
在 c# 中。你能帮我实现吗?
DateTime dateTime = new DateTime();
dateTime.ToString(??)
您想要的格式类似于以下格式字符串
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
使用此格式字符串。详情请参阅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);
这应该适用于任何文化:
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