如何删除日期时间?

时间:2016-08-31 03:39:30

标签: c# winforms datetime

如何删除日期时间?在列日期,它唯一的显示格式

enter image description here

我将值存储在repository combobox下拉列表中,并存储包含时间的值。如何删除时间?

enter image description here

我知道有很多这方面的问题。但解决方案是将其转换为date.tostring("dd MMM yyyy")。是否有解决方案旁边将其转换为字符串?我希望值是日期时间而不是字符串的转换。

我使用的代码仍然给我一些时间。

 DateTime date = Convert.ToDateTime(gridView1.GetDataRow(i)["date"]);

2 个答案:

答案 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部分,则可以创建自己的classstruct来存储DateTime的日期部分,然后覆盖日期arithematic的运算符并提供隐式转换,以便在任何期望DateTime字段的代码时将其转换为DateTime