gpt4 book ai didi

c# - 没有时间没有 string.format 的日期时间

转载 作者:行者123 更新时间:2023-12-01 00:09:53 29 4
gpt4 key购买 nike

我有一个 DataTable 来 self 正在写入 excel 文件的存储过程。有一列包含 DateTime 数据类型,查看其中的值,它们只是带有时间戳的通用日期。

我试过使用 DateTime.Date 属性,但它仍然给我一个时间戳。此外,我尝试使用 year,month,day 构造函数创建一个新的 DateTime 对象,但它仍然添加了时间戳:

DateTime newDate = DateTime(oldDate.Year, oldDate.Month, oldDate.Day);

我试图将列数据类型保留为 DateTime 但删除了时间戳,因此这排除了 ToString("") 格式。还有别的办法吗?

最佳答案

DateTime 始终包含日期和时间部分。如果您使用 Date 属性,它会返回一个新的 DateTime,其中时间为 0:00:00,即同一天的午夜。您需要不带时间的日期时间的字符串表示。

您可以使用 DateTime.ToString :

string result = oldDate.ToString("d"); // uses current culture's date format

string result = oldDate.ToShortDateString(); // same as above

string result = oldDate.ToString("MM-dd-yyyy"); // custom format

编辑:“所以这排除了 ToString("") 格式。还有其他方法吗?”

不是,因为上面提到的原因。

将数据与其显示方式分开很重要。如果您需要在没有时间的情况下使用上面的代码显示它,您可以存储原始的 DateTime 变量以供将来处理,从数据库中重新选择它或使用 DateTime.Parse/DateTime.ParseExcact 从字符串中获取 DateTime

关于c# - 没有时间没有 string.format 的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28629909/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com