显示指定格式的日期

时间:2013-03-11 15:45:15

标签: c# datetime

我想以这种格式显示日期:c#中的Saturday, March 9, 2013 at 10:00pm。你能帮助我实现这个目标吗?

DateTime dateTime = new DateTime();
dateTime.ToString(??) 

3 个答案:

答案 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());

Demo

输出(即使在没有AM / PM指示符的文化中):Saturday, March 9, 2013 at 10:00pm