在DateTime对象中存储短日期

时间:2009-10-20 00:20:57

标签: c# datetime

我正在尝试将缩短的日期(mm / dd / yyyy)存储到DateTime对象中。以下代码是我目前正在尝试做的事情;这包括我不想要的时间(上午12:00:00):(

DateTime goodDateHolder = Convert.ToDateTime(DateTime.Now.ToShortDateString());

结果将于10/19/2009 12:00:00 AM

9 个答案:

答案 0 :(得分:17)

DateTime是一个解释为表示DateTime的两个部分的整数(即:日期和时间)。您将始终在DateTime中同时拥有日期和时间。对不起,你无能为力。

您可以使用.Date来获取日期部分。在这些情况下,时间总是为12:00,但如果您不想要,则可以忽略该部分。

答案 1 :(得分:3)

您可以使用不会移除时间部分的.Now代替.Today,而只会填充日期部分并将时间留给默认值。

稍后,正如其他人指出的那样,你应该尝试让日期部分忽略时间部分,具体取决于具体情况。

答案 2 :(得分:3)

在这种情况下,您只有两种选择。

1)忽略值的时间部分。

2)创建一个包装类。

就个人而言,我倾向于使用选项1。

答案 3 :(得分:3)

DateTime将始终具有时间组件 - 即使它是凌晨12:00:00。您只需在显示时格式化DateTime(例如goodDateHolder.ToShortDateString())。

答案 4 :(得分:1)

您还可以根据Java Joda时间库查看Noda Time

答案 5 :(得分:0)

DateTime对象存储日期和时间。要仅显示日期,可以使用DateTime.ToString(string)方法。

DateTime goodDateHolder = DateTime.Now;
// outputs 10/19/2009
Console.WriteLine(goodDateHolder.ToString("MM/dd/yyyy"));

有关ToString方法的详细信息,请按照此link

进行操作

答案 6 :(得分:0)

您可能无法将其作为DateTime对象获取...但是当您想要显示它时,您可以通过执行类似的操作以您希望的方式对其进行格式化。

myDateTime.ToString(“M / d / yyyy”),为您的例子提供10/19/2009。

答案 7 :(得分:0)

您将始终以DateTime类型获取时间部分。

DateTime goodDateHolder = Convert.ToDateTime(DateTime.Now.ToShortDateString());

会给你今天的日期,但总会显示到午夜的时间。

如果你担心格式化,那么你会尝试这样的事情

goodDateHolder.ToString("mm/dd/yyyy")

以您想要的格式获取日期。

这是一个很好的资源msdn-dateformat

答案 8 :(得分:0)

DateTime只是一个UInt64,其中包含有用且巧妙的格式,使其看起来像日期和时间。你无法消除时间元素。