2014-02-07 99 views
2

我搜索了這個問題找到答案,並找到"How to add literal strings in a DateTime format?"日期時間格式的字符串

我試過接受的解決方案,但沒有得到我預期的結果。我的代碼如下:

DateTime.Now.ToString("'Previously exported on' d 'at' t")返回「以前出口7處P」

我預期它返回「以前出口上2014年2月7日在下午5時46分」

我也試過:

DateTime.Now.ToString("'Previously exported on' f")返回「以前導出0」

但是,如果我只用簡單格式化字符串,我得到預期的結果:

DateTime.Now.ToString("d")返回 「2014年2月7日」
DateTime.Now.ToString("t")返回 「下午5時46分」
DateTime.Now.ToString("f")回報 「星期五,2014年2月7日下午5時46分」

我缺少什麼? 「short」格式的字符串是否不能與文字一起使用?

+0

你得到了你所要求的。今天是第七名,出於某種原因,你只喜歡am/pm指標的一封信。你沒有說出你真正想要的東西,所以現在這只是一個猜測遊戲。 –

回答

2

爲此,您可以始終使用string.Format,這允許您使用{ index[,alignment][ :formatString] }指定每個索引處的格式。即,

string.Format("Previously exported on {0:d} at {0:t}", DateTime.Now); 

它看起來像超載DateTime.ToString(string format)預期標準或自定義DateTime格式字符串 - 它不能同時容納。

format參數應包含一個單一的格式說明符(見標準日期和時間格式字符串)或定義返回的字符串格式的自定義格式模式(見自定義日期和時間格式字符串)