c# - 以毫秒 C# 将日期时间插入 SQLCE

标签 c# datetime format sql-server-ce

我有一个格式为“dd-MM-yyyy HH:mm:ss.fff”的字符串日期时间

像这样..

DateTime mydate = Convert.ToDateTime("13-09-2010 02:30:14.905"); 
 result.SetValue(1, mydate);

//我收到一条错误消息“未将字符串识别为有效的日期时间”

如果我这样做

DateTime mydate = DateTime.ParseExact("13-09-2010 02:30:14.905", "dd-MM-yyyy HH:mm:ss.fff", CultureInfo.CurrentCulture);
 result.SetValue(1, mydate);

它工作正常但没有毫秒格式化它。

我只需要日期时间对象来保存我的格式化时间,这样我就可以插入它。

最佳答案

DateTime 不保存“格式化时间”——它只保存一个时间。这就像 int 不包含“十六进制值”或“十进制值”——它只包含一个整数。

您的第二个版本几乎可以肯定会正确解析所有数据 - 将其打印出来进行检查 - 所以我怀疑是数据库交互导致了问题。当然,您可以通过显式构造测试程序的 DateTime 值来将解析与数据库交互隔离。

您应该知道,根据 SQL Server CE 3.5 docs ,SQL Server CE中的datetime类型只支持三百分之一秒的粒度,也就是3ms多一点。如果您需要一个精确的毫秒值,您可能需要考虑一种替代表示法(例如,一个精确到秒的日期时间,以及一个单独的毫秒整数字段。)

关于c# - 以毫秒 C# 将日期时间插入 SQLCE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3698667/

相关文章:

PHP DateInterval 创建瞬间(微秒或毫秒)间隔

ios - 检查给定的日期时间是否在 Objective C 中的其他两个日期时间之间

python string.format 和 invalid\x 转义

c# - json_agg() 数组到对象

c# - 如何在 CLR Procedure 中使用 Json Parser?

c# - 我怎样才能把这个写得更短?

c++ - 如何格式化数组并输出?

c# - 你会用编译器即服务做什么

c# - 这是用 TimeSpan 表示几十年的最佳方式吗?

r - 如何在 R Plotly 饼图和折线图中将数字格式相应地悬停为 K 或 M