【问题标题】:Convert datetime to string without default time value [duplicate]将日期时间转换为没有默认时间值的字符串[重复]
【发布时间】:2013-10-30 11:45:07
【问题描述】:

当我将 DateTimePicker 的选定日期转换为字符串时,它会给出类似“01/03/2013 12:00:00 AM”的值。如何删除时间值并仅选择“01/03/2013”​​部分?

【问题讨论】:

    标签: c# datetime visual-studio-2012 datetimepicker


    【解决方案1】:

    试试这个ToShortDateString

    var datestring = datePicker.Value.ToShortDateString();
    

    会的

    将当前 DateTime 对象的值转换为其等效值 短日期字符串表示。

    ToShortDateString 方法返回的字符串是 文化敏感。它反映了当前定义的模式 文化的 DateTimeFormatInfo 对象。例如,对于 en-US 文化,标准的短日期模式是“M/d/yyyy”;对于 de-DE 文化,它是“dd.MM.yyyy”;对于 ja-JP 文化,它是“yyyy/M/d”。 特定计算机上的特定格式字符串也可以是 定制,使其不同于标准的短日期格式 字符串。

    如果您想要精确的 dd/MM/yyyy 格式,请使用自定义 ToString(),例如:

    var datestring = datePicker.Value.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
    

    【讨论】:

    • 请注意,如果当前文化不使用 / 作为日期分隔符但他想强制执行,您的最后一种方法可能会失败。然后使用CultureInfo.InvariantCulture 作为ToString 中的第二个参数。顺便说一句,ToShortdateStringToString("d") 相同。见:msdn.microsoft.com/en-us/library/az4se3k1.aspx#ShortDate
    • @TimSchmelter 当然,谢谢,我会编辑它
    【解决方案2】:

    使用它

    DateTime.Now.ToString("dd/MM/yyyy");
    

    【讨论】:

      【解决方案3】:

      试试这个

      var day = value.Date; // a DateTime that will just be whole days
      var time = value.TimeOfDay; // a TimeSpan that is the duration into the day
      

      它会为你工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-02
        • 2016-07-30
        • 1970-01-01
        • 1970-01-01
        • 2014-11-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多