数据库和数据集中日期时间格式的区别
Difference between DateTime formats in Database and Dataset
我的 SQL 服务器 table 中有一个 datetime
列,其中包含如下值:
2021-01-27 00:00:00.000
当我从 table 获取值时,我的这个特定字段的数据集现在就像
27.1.2021. 0:00:00
我想将此值转换为另一种格式,但我得到的是异常
Additional information: String was not recognized as a valid DateTime.
代码:
DateTime dt = DateTime.ParseExact(row["DO_Date"].ToString(), "DD.m.YYYY. H:mm:ss", CultureInfo.InvariantCulture);
为什么 table 中的值与之后数据集中的值存在差异?如何确定正确的格式并转换给定的日期时间?
row["DO_Date"].ToString()
returns 一个字符串,它取决于您的本地系统区域日期时间设置。
尝试执行以下操作:
DateTime dt = DateTime.ParseExact(row["DO_Date"].ToString("yyyy-MM-dd HH:mm:ss"), "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
换句话说 - 强制源格式与您要转换成的格式相同。
还有一个更简单的方法:
DateTime dt = (DateTime)row["DO_Date"]
我的 SQL 服务器 table 中有一个 datetime
列,其中包含如下值:
2021-01-27 00:00:00.000
当我从 table 获取值时,我的这个特定字段的数据集现在就像
27.1.2021. 0:00:00
我想将此值转换为另一种格式,但我得到的是异常
Additional information: String was not recognized as a valid DateTime.
代码:
DateTime dt = DateTime.ParseExact(row["DO_Date"].ToString(), "DD.m.YYYY. H:mm:ss", CultureInfo.InvariantCulture);
为什么 table 中的值与之后数据集中的值存在差异?如何确定正确的格式并转换给定的日期时间?
row["DO_Date"].ToString()
returns 一个字符串,它取决于您的本地系统区域日期时间设置。
尝试执行以下操作:
DateTime dt = DateTime.ParseExact(row["DO_Date"].ToString("yyyy-MM-dd HH:mm:ss"), "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
换句话说 - 强制源格式与您要转换成的格式相同。
还有一个更简单的方法:
DateTime dt = (DateTime)row["DO_Date"]