2014-02-07 162 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参数应包含一个单一的格式说明符(见标准日期和时间格式字符串)或定义返回的字符串格式的自定义格式模式(见自定义日期和时间格式字符串)