代码之家  ›  专栏  ›  技术社区  ›  Michael

为什么字符串不能转换为日期时间?

  •  -4
  • Michael  · 技术社区  · 7 年前

    我有这个绳子:

     {2018-06-17 10:05:41}
    

    在某个时刻,我试图将其转换为DateTime:

      DateTime.ParseExact(cell.StringCellValue, "dd/MM/yyyy", CultureInfo.InvariantCulture);
    

     "String was not recognized as a valid DateTime."
    

    知道为什么上面的字符串不能被识别为日期时间吗?以及如何修复它?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Zohar Peled    7 年前

    因为你使用了错误的格式- 2018-06-17 10:05:41 yyyy-MM-dd HH:mm:ss (不确定 HH 部分,可能是 hh ,但是 AM/PM

    另外,你最好用 TryParseExact 然后 ParseExact :

    DateTime dateTime;
    DateTime.TryParseExact(
        cell.StringCellValue, 
        "yyyy-MM-dd HH:mm:ss", 
        CultureInfo.InvariantCulture, 
        DateTimeStyles.None, 
        out dateTime);
    

    推荐文章