如何删除日期时间?在列日期,它唯一的显示格式
我将值存储在repository combobox下拉列表中,并存储包含时间的值。如何删除时间?
我知道有很多这方面的问题。但解决方案是将其转换为date.tostring("dd MMM yyyy")
。是否有解决方案旁边将其转换为字符串?我希望值是日期时间而不是字符串的转换。
我使用的代码仍然给我一些时间。
DateTime date = Convert.ToDateTime(gridView1.GetDataRow(i)["date"]);
答案 0 :(得分:1)
您忘了在转换结束时指定日期
<!DOCTYPE html>
<html>
<head>
<title>this is the title</title>
<link href="projects.css" rel="stylesheet">
</head>
<body>
<div class="DocumentList">
<ul class="list-inline">
<li class="DocumentItem">
<span>Test Data1</span>
</li>
<li class="DocumentItem">
<span>Test Data1</span>
</li>
<li class="DocumentItem">
<span>Test Data1</span>
</li>
<li class="DocumentItem">
<span>Test Data1</span>
</li>
<li class="DocumentItem">
<span>Test Data1</span>
</li>
<li class="DocumentItem">
<span>Test Data1</span>
</li>
<li class="DocumentItem">
<span>Test Data1</span>
</li>
<li class="DocumentItem">
<span>Test Data1</span>
</li>
<li class="DocumentItem">
<span>Test Data1</span>
</li>
</ul>
</div>
</body>
</html>
答案 1 :(得分:0)
DateTime
作为名称implify,存储日期和时间。
您无法从日期中删除时间部分,因为时间是日期的组成部分。
要理解这一点,您必须了解日期和时间的存储方式。在内部,日期和时间存储为有理数(以分数表示)。在计算机系统中,24小时被视为数字1,因此当您的值增加1表示您的日期增加1天。如果该值增加0.5,则表示您的日期增加了12小时(半天)。
因此,当您的值42613.00
表示31st August at midnight
时(就在当天开始时),如果您的值为42613.25,则表示2016年8月31日上午6点,42613.50表示8月31日中午12点2016(及42613.39236 means 9:25:00 AM of 31 Aug 2016
)
需要存储的最短时间是1毫秒。这意味着DateTime字段的值应该具有大于0.0000000115740740740741
的精度。但这是一个非理性值(二进制),因此不能这样存储(最接近的匹配是1.00000000000000000000000000110001101101011101010000111010111111...
,...意味着还有更多),所以我可以说毫秒是它们最接近的近似值。
那就是说,
如果您只想Date
部分,则可以创建自己的class
或struct
来存储DateTime
的日期部分,然后覆盖日期arithematic的运算符并提供隐式转换,以便在任何期望DateTime
字段的代码时将其转换为DateTime
。