我有以下代碼並使用靜態方法我試圖添加一個後綴到日期時間對象和基於outputFormat也是通過即時試圖格式化日期和返回字符串格式化日期時間後綴
var outputFormat = date.Month != nextDate.Month || isLast ? "d MMMM yyyy" : "dd";
if (isLastMonthDay)
{
formattedDate.AppendFormat("{0}{1}", GetDateSuffix(date, outputFormat), "<br><br>");
}
else
{
formattedDate.AppendFormat("{0}{1}", GetDateSuffix(date, outputFormat).TrimStart('0'), ", ");
}
private static string GetDateSuffix(DateTime date, string outputFormat)
{
string suffix;
switch (date.Day)
{
case 1:
case 21:
case 31:
suffix = "st";
break;
case 2:
case 22:
suffix = "nd";
break;
case 3:
case 23:
suffix = "rd";
break;
default:
suffix = "th";
break;
}
return outputFormat == "d MMMM yyyy" ? string.Format("{0}{1} {2:MMMM} {3}", date.Day, suffix, date.Month, date.Year) : string.Format("{0}{1}", date.Day, suffix);
}
我得到如下因素的結果,我想如果德OUTPUTFORMAT被指定爲DD MMMM YYYY日期爲輸出2015年4月4日,但我越來越MMMM返回。我已閱讀http://www.csharp-examples.net/string-format-datetime/和它說使用
String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar March" month
任何人都可以看到什麼即時做錯了嗎?
感謝
我沒有問題的代碼編譯,一切除了輸出MMMM而不是月份名稱外,還可以正常工作 – Paul