2013-03-11 45 views
0

我想用這種格式顯示日期:Saturday, March 9, 2013 at 10:00pm in c#。你能幫我實現這個目標嗎?顯示指定格式的日期

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

爲 「日期時間C#格式」 第一谷歌搜索結果:http://msdn.microsoft.com/en-us/library /8kb3ddd4.aspx – 2013-03-11 15:47:34

回答

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); 
+0

是否會返回'Samstag,März9,2013 at 10:00';) – 2013-03-11 15:56:33

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

這應該在任何文化的工作:

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

+0

我明白你指出了什麼 - 但不是日期格式字符串 - 它們本地化輸出? – Jamiec 2013-03-11 15:58:36

+0

@Jamiec:可能需要獲取本地格式,但也可能希望強制使用特定的格式。由於OP剛剛顯示出他想要的結果,我已經展示了一種總是得到這個輸出的方法。 – 2013-03-11 16:00:43