我使用下面的代碼爲什麼DataFormatString的DisplayFormat將「/」(斜槓)更改爲「 - 」(短劃線)?
// Model
[DisplayFormat(
ApplyFormatInEditMode = true,
DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime StartDate { get; set; }
// View
@Html.EditorFor(model => model.StartDate)
格式化StartDate
但結果卻是xx-xx-xxxx
,而不是xx/xx/xxxx
。我該如何解決這個問題並始終使用xx/xx/xxxx
格式?
UPDATE: 改變文化en-US
似乎工作:
var culture = new CultureInfo(userCulture);
System.Threading.Thread.CurrentThread.CurrentCulture = "en-US";
System.Threading.Thread.CurrentThread.CurrentUICulture = "en-US";
但這是不是一個解決方案,因爲我可能會使用不同的文化,我還是想顯示的日期一種不同的方式。
如果當前的文化告訴日期應該顯示dd-MM-yyyy
然後使用DisplayFormat
如上所述沒有影響,並且日期不顯示像dd/MM/yyyy
。
你是指「我可能在使用不同的文化,我還想用不同的方式顯示日期」是什麼意思? – 2011-12-29 21:05:58
假設當前用戶使用文化「pt-PT」,那麼當我想要顯示它時,DisplayFormat會將其更改爲「dd-MM-yyyy」(應該是這樣):「dd/MM/yyyy」 – Dryadwoods 2011-12-29 21:14:03
這有點神祕,如果用戶文化認爲破折號應該是分隔符,那麼您堅持使用斜槓。 – 2011-12-30 14:50:12