【问题标题】:Remove Time from a DateTime object从 DateTime 对象中删除时间
【发布时间】:2017-12-11 13:48:47
【问题描述】:

我有一个Datetime 对象,我想从中删除时间部分。我尝试了以下代码行,但 auth.dob 仍然包含 time。我怎样才能在其中设置2017-01-01

auth.dob = Convert.ToDateTime("2017-01-01").Date;

【问题讨论】:

  • 它必须只是一个字符串。 DateTime 结构适用于这两个部分.....如果您想要更好的东西,请参阅NodaTime
  • 我不知道任何 API - 但this local date 似乎是您正在寻找的东西
  • DateTime 对象具有时间属性。它的名字暗示了这一点。 为什么你认为你需要这样做?你到底想在这里完成什么?
  • auth.dob 是什么类型?
  • 如何检查auth.dob 是否还有时间?

标签: c# datetime datetime-format


【解决方案1】:

遗憾的是,.Net 不包含仅存储日期的类型。一般我们使用DateTime 并将时间设置为午夜。然后,当您输出值时,您只需在显示时省略时间,请参阅DateTime.ToString(string)DateTime.ToShortDateString()DateTime.ToLongDateString()

虽然这行得通,但它确实会导致各种混乱。我经常觉得拥有一个 Date 结构、一个 Time 结构和一个 DateTime 结构会更好,后者是另外两个结构的组合。但遗憾的是,事实并非如此。

Noda Time 库,但在这种情况下,这可能是矫枉过正。

或者,您可以扮演自己的角色,并将日、月和年存储为单独的数字变量。

【讨论】:

    猜你喜欢
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    • 2014-09-07
    • 2018-12-20
    • 2011-06-07
    • 2010-10-04
    相关资源
    最近更新 更多