C#中用DateTime的ParseExact方法解析日期時間(excel中使用系統默認的日期格式)


最近做的項目中服務器是英文的系統,系統需要通過excel的單元格導入日期,excel中的日期格式是系統默認的日期格式,如下圖所示

以上日期格式,會跟着操作系統設置的日期格式相同例如我的中文系統的日期格式是如下樣式的

英文系統的日期格式如下圖所示

因此,在使用DateTime的ParseExact方法解析日期時間的時候要將這兩種日期格式都寫入

  string[] dateFormates = { "yyyy-MM-dd", "MM/yyyy/dd", "yyyyMMdd", "yyyy/MM/dd", "yyyy/M/dd", "yyyy/M/d", "M/d/yyyy h/mm/ss", "M/d/yyyy h:mm:ss tt", "M/d/yyyy" };

 "yyyy/M/d":是中文版操作系統的默認格式

"M/d/yyyy":是上圖的英文操作系統的默認格式

然后使用

 var date = DateTime.ParseExact(cell.Text.ToString().Trim(), dateFormates, CultureInfo.InvariantCulture, DateTimeStyles.None);

轉換日期格式,才會正確。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM