我在將2個字符串解析爲DateTime時注意到這種奇怪的行爲。 第一個字符串(造成的異常)「20/10/2013上午03時08分30秒」 第二串(無例外正確換算)「2013年9月10日上午03點09分37秒」奇怪的日期時間解析行爲
的用來轉換代碼是:
string date_1 = "20/10/2013 3:08:30 AM";
string date_2 = "9/10/2013 3:09:37 AM";
try
{
DateTime d1 = DateTime.parse(date_1, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal); //throws exception (String was not recognized as a valid DateTime)
} catch (Exception ex) { throw ex; }
DateTime d2 = DateTime.parse(date_2, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
可有人請解釋爲什麼較完整的日期格式相同兩個字符串做到這一點?
謝謝大家提前。
沒有20個月...使用正確的文化來解析或修正「ParseExact」的格式。 –
聽起來像是mm/dd/yyyy與dd/mm/yyyy的錯誤......你是否在解析後檢查了d2中的月份和日期字段?他們是你所期望的,即日= 9月= 10月? –
CultureInfo.InvariantCulture的默認日期格式是什麼? 是MM/dd/yyyy hh:mm:ss tt或dd/MM/yyyy hh:mm:ss tt? – Rafael