我的数据表中有一列是 DateTime 类型。我只想要 DatePart,因此当我使用 ToShortDateTimeString 时,它会转换为短日期但属于字符串类型。因此,当我将字符串重新分配给数据表的列时,它再次将 12:00:00 附加到它。我无法更改数据表中的列类型。有什么方法可以直接将 DateTime 转换为 ShortDateTime 而无需转换为字符串?????
不,那是不可能的。将其格式化为字符串也无济于事。
数据库中的datetime
类型总是同时包含日期和时间部分。如果您不指定时间组件,它将变为 00:00:00
(或 12 小时格式的 12:00:00 AM
)。因此,无论您尝试删除时间组件,它仍然会有一个。
请注意,数据库中的 datetime
值没有格式。它只是一个代表时间点的值。
因此,无论何时从数据库中读取数据,都必须处理数据。如果您只是使用默认设置将日期值格式化为字符串,您将同时获得日期和时间组件,因为它们始终存在。在将 DateTime 值转换为要显示的字符串时,您必须指定所需的格式。例如:
string formatted = theDateTimeValue.ToString("yyyy-MM-dd");
我是一名优秀的程序员,十分优秀!