我有一个Datetime
对象,我想删除它的时间部分。我尝试了以下代码行,但auth.dob
仍包含time
。我怎样才能在其中设置2017-01-01
?
auth.dob = Convert.ToDateTime("2017-01-01").Date;
答案 0 :(得分:3)
可悲的是.Net不包含仅存储日期的类型。通常我们使用DateTime并将时间设置为午夜。然后,当您输出该值时,您只需在显示时省略时间,请参阅DateTime.ToString(string),DateTime.ToShortDateString()和DateTime.ToLongDateString()。
虽然这有效,但确实会引起各种混乱。我经常觉得最好有一个Date结构,一个Time结构和一个DateTime结构,它是另外两个结构的组合。但遗憾的是情况并非如此。
有Noda Time库,但在这种情况下可能有点过分了。
或者,您可以自己角色并将日,月和年存储为单独的数字变量。