首页 > 解决方案 > C#中的日期格式问题?从 Excel 中检索数据时

问题描述

下面是我的代码图片,请看一下。

我正在尝试从 excel 表中检索数据并通过 SQL bulkcopy 将其存储到数据库表中。

错误:

日期格式为05-01-2019; 它被错误地插入为2019-05-01(数据库) - 正确的日期是2019-01-05.

当日期大于 12 时,它以正确的格式存储。

2019-12-25 (database) correct 
Excel : 25-12-2019

标签: c#asp.net.netsql-serversqlbulkcopy

解决方案


首先将您的字符串转换为日期

DateTime.ParseExact("25-12-1986", "dd-MM-yyyy", NULL)

然后将其格式化为您的日期

你也可以考虑 TryParseExact 检查错误的格式

您的问题是 05-01-2019 在美式日期格式中往往意味着“2019 年 5 月 1 日”,因此您需要非常小心格式。自动将 1966 年 12 月 25 日设为 12 月 25 日(这就是它可以解释的全部内容)的政策并不像看起来那么有用。


推荐阅读