我試圖日期轉換格式如下改變行爲"d/MM/yyyy"
C#TryParseExact CultureInfo.InvariantCulture當文化變革
例如:
- 2014年5月11日
- 12/12/2013
- 31/01/2012
我使用TryParseExact方法:
private const string DateFormat = "d/MM/yyyy";
Culture = CultureInfo.InvariantCulture;
DateTime creationDateConverted;
DateTime.TryParseExact(creationDate, DateFormat, Culture,
DateTimeStyles.None, out creationDateConverted);
顯示方法:
@Html.DisplayFor(m => object.date)
date having : DisplayFormat(DataFormatString="{0:d/MM/yyyy}")
哪臺主機的網站有一個美國文化的服務器。
如果我使用Web.config將文化設置爲fr-FR,它運行良好。
但是,如果我不設置該文化,它不起作用,它會將其轉換爲MM/dd/yyyy格式,當然有些日期不會以該格式傳遞。
我不明白爲什麼文化會影響該方法,因爲我提供了特定的格式和文化不變性。
我也試圖提供一個文化FR-神父的方法,但沒有運氣
編輯:當我說失敗了,我指的是TryParseExact方法返回false
請注意,您發佈瞭解析代碼,但詢問它爲什麼基於當前文化進行格式化,而未顯示格式代碼。 –
如果不是絕對必須以任何種類的本地化格式顯示日期,那麼在[ISO 8601](http://www.iso.org/iso/home/standards/iso8601)中顯示它可能是一個好主意。 htm)格式:yyyy-MM-dd。 – Corak
這個解析代碼沒有錯,它是文化不變的。你如何詢問結果,即查看'creationDateConverted'設置爲什麼? – Jodrell