我正在尝试将缩短的日期(mm / dd / yyyy)存储到DateTime对象中。以下代码是我目前正在尝试做的事情;这包括我不想要的时间(上午12:00:00):(
DateTime goodDateHolder = Convert.ToDateTime(DateTime.Now.ToShortDateString());
结果将于10/19/2009 12:00:00 AM
答案 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,其中包含有用且巧妙的格式,使其看起来像日期和时间。你无法消除时间元素。