【发布时间】:2021-08-26 01:21:58
【问题描述】:
我的表中有一个DateTime 列。我想存储没有毫秒标记的运行日期。
我尝试了下面的代码,但在表格中,毫秒为 0000000。
是否可以只存储“2021-06-09 08:58:03”格式的日期?
DateTime dt = Convert.ToDateTime(System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
提前致谢。任何帮助将不胜感激。
【问题讨论】:
-
如果您不需要毫秒,请使用
smalldatetime作为列数据类型 -
根据问题指南,请不要发布代码、数据、错误消息等的图像 - 将文本复制或输入到问题中。请保留将图像用于图表或演示渲染错误,无法通过文本准确描述的事情。
-
日期不以任何格式存储,只是内部二进制格式,它们存储为日期对象。 ONLY 格式会在您显示日期时发生。当您查询它时,您将看到默认格式,但这不是它的存储方式。请注意其推荐的最佳实践,不再使用
smalldatetime,而是使用datetime2()。我建议存储为datetime2()并格式化以在显示时删除 ms。 -
@Squirrel
smalldatetime数据类型我相信是分钟,而不是秒?此外,与其他时间不同,我相信它是“四舍五入到最接近的分钟”,而不是简单地截断。 -
@Gudwlk 不就是把它转成文字吗?
标签: c# sql sql-server tsql datetime-format