c# - 为什么字符串不能转换为日期时间?
问题描述
我有这个字符串:
{2018-06-17 10:05:41}
在某些时候,我尝试将其转换为 DateTime:
DateTime.ParseExact(cell.StringCellValue, "dd/MM/yyyy", CultureInfo.InvariantCulture);
但我得到了这个例外:
"String was not recognized as a valid DateTime."
知道为什么上面的字符串不能识别为 DateTime 以及如何修复它吗?
解决方案
因为您使用了错误的格式 - 2018-06-17 10:05:41
is yyyy-MM-dd HH:mm:ss
(不确定该HH
部分,它可能是hh
,但缺少AM/PM
提示)。
此外,您最好使用TryParseExact
then ParseExact
:
DateTime dateTime;
DateTime.TryParseExact(
cell.StringCellValue,
"yyyy-MM-dd HH:mm:ss",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out dateTime);
因为如果解析失败,您将不必处理异常。
推荐阅读
- python - 从 colab 中的驱动器中的 python 脚本导入 python 模块
- postman - 邮递员如何在导入大量端点后设置环境url变量
- dart - 如何在颤动中获取文本小部件的大小
- android - 如何发出后台服务器请求?
- c# - ASP.NET MVC 错误消息“无法连接到 Visual Studio 开发服务器。”
- php - PHP 致命错误:类未捕获错误:沙盒中的类 'Aws\Rekognition\RekognitionClient'
- python - Python - 如何读取从 Tkinter 中选择的文件?
- python - Seaborn FacetGrid 在彼此旁边绘制两个不同的 y 轴
- python - 我正在尝试将 .apply 应用于 pandas 中的列,但它抛出 TypeError: 'float' object is not subscriptable
- python - 当试图可视化由 numpy.meshgrid() 生成的“常规”网格点时,我看到了白色的垂直线。为什么会这样?