【问题标题】:removing time from datetime in c# and retaining datetime format从 c# 中的 datetime 中删除时间并保留 datetime 格式
【发布时间】:2013-04-25 22:57:04
【问题描述】:

如何从日期时间中删除时间并以日期时间格式存储输出?我不想显示时间。

说我有

string d = "2/27/2013 4:18:53 PM"

如何将输出存储在 DateTime 变量中,仅包含日期而不包含时间。

我可以使用 ToShortDateString() 但它返回一个字符串而不是日期时间。

我的最终目标是按时间顺序对日期列进行排序,这只有在所有条目都是日期时间格式而不是字符串时才能完成。

【问题讨论】:

  • 数据库中有日期时间列,要按日期排序吗?

标签: c#


【解决方案1】:

DateTime 结构的Date 属性将为您提供一个日期,但它总是有一个表示午夜的时间组件(“00:00:00”)。如果你从一个字符串开始,你也许可以使用这样的东西:

DateTime d = DateTime.Parse("2/27/2013 4:18:53 PM").Date; // 2/27/2013 12:00:00 AM

只需确保对 DateTime 对象进行比较(即忽略所有 ToString() 的用法)。

或者,您可以在"sortable" time format 中格式化您的日期:

string d = DateTime.Parse("2/27/2013 4:18:53 PM").ToString("s");

string d = yourDateTime.ToString("s");

对于上述情况,d 将是2013-02-27T16:18:53。按字母顺序排序时,字符串将按时间顺序排列。

【讨论】:

  • 对不起。这将输出 2/27/2013 12:00:00 AM。我不想要时间部分。
  • @bluepiranha:如果您比较的是DateTime 对象而不是字符串,那么它输出时间部分应该没关系。如果每个时间部分完全相同,那么它不会影响排序(同样,当您不是比较字符串,而是实际DateTimes 时)。
  • 谢谢。您的回答详尽且经过充分研究。
【解决方案2】:
DateTime dt = DateTime.now();      (To get Any Date)

string datewithMonth= dt.ToString("MMMM dd, yyyy");

string onlyDate = DateTime.Parse(datewithMonth).ToShortDateString();

这里我们得到1/1/2014的结果。这样我们就可以像这样对sql进行select操作了:

searchQuery = "select * from YourTableName where ColumnName = '  " + onlyDate + " '   ";

【讨论】:

    【解决方案3】:

    把文化中的时间去掉怎么样:-

            var submissionDateData = DateTime.Now.ToShortDateString();
            var submissionDate = DateTime.Parse(submissionDateData, CultureInfo.CreateSpecificCulture("en-GB"));
    

    第一行给出 02/11/2015

    第二行给出 11/02/2015 12:00:00 AM

    您是否必须对此进行字符串拆分,或者有没有办法摆脱时间?

    【讨论】:

      【解决方案4】:

      就这么简单:

      d.ToString("mm/dd/yyyy");
      DateTime date = DateTime.Parse(d);
      

      【讨论】:

      • 这个答案是完全错误的。在问题中,d 是一个字符串,而不是 DateTime
      • 好的,但我弄错了吗? d 不是字符串吗?此外,即使dDateTimed.ToString("mm/dd/yyyy"); 也不会更改或以任何方式设置它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多