【问题标题】:Remove the time part and convert date time in different format删除时间部分并以不同格式转换日期时间
【发布时间】:2013-11-01 16:16:35
【问题描述】:

我有一个日期时间对象,我正在提取它的时间部分

var dateAndTime = Convert.ToDateTime(certificate.GetEffectiveDateString());
var date = dateAndTime.Date;

日期返回一个值:10/23/2013 12:00:00 AM,其中应该只返回10/23/2013 不知道为什么时间部分没有去掉。

删除时间部分后,我需要将日期转换为这种格式 October 23,2013.

我们能不能把时间部分去掉,通过一些定义的格式改成这种格式。

【问题讨论】:

标签: c# .net datetime format type-conversion


【解决方案1】:

这里是所有标准日期格式。

http://msdn.microsoft.com/en-us/library/az4se3k1.aspx

【讨论】:

    【解决方案2】:

    使用日期属性:

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

    日期变量将包含日期,时间部分将是 00:00:00。

    【讨论】:

      【解决方案3】:

      您可能的意思是在ToString 之后,时间与日期一起呈现。例如,使用ToShortDateString 方法来获得您所期望的。还有许多其他可能的方法将日期格式化为字符串,您可以轻松找到它们here。您提到的第二种格式可以通过以下方式实现:

      date.ToString("MMMM dd,yyyy");
      

      使用这个ToString 重载。

      【讨论】:

        【解决方案4】:

        如果你想检索仅日期字符串表示,你可以使用

        dateTime.ToString("d")

        格式,根据MSDN

        【讨论】:

          【解决方案5】:

          使用以下获取格式 2013 年 10 月 23 日

          dt.ToString("MMMM dd, yyyy");  
          

          Date Time formats

          【讨论】:

            【解决方案6】:

            日期时间没有转换。如果您有一个日期时间字符串,请使用 DateTime.TryParse。如果你有一个日期时间并且想要一个格式化的字符串。您可以使用格式字符串:

            dateAndTime.ToString("MMMM dd,yyyy");
            

            会给你一个格式化的日期字符串。

            【讨论】:

              【解决方案7】:

              有几种方法可以做到这一点,最简单最有效的,就是这样;

              DateTime.Now.Date.ToString("MMMM dd,yyyy") //Return October 23,2013
              

              请参阅此URL 和此URL 以进一步了解自定义日期。

              【讨论】:

                【解决方案8】:

                DateTime.Date 只是一个 DateTime,其时间部分设置为零或午夜。如果您尝试将其输出为字符串,则可以使用ToShortDateString() 或多种自定义格式之一。

                date.ToString("MMMM dd,yyyy")
                

                应该给你你正在寻找的输出。

                有关DateTime.Date的信息

                http://msdn.microsoft.com/en-us/library/system.datetime.date.aspx

                有关DateTime 格式字符串的更多信息

                http://msdn.microsoft.com/en-us/library/az4se3k1.aspx

                http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

                【讨论】:

                  【解决方案9】:
                  // returns a date 'MM/dd/yyyy' string from a datetime string '2014-06-19 00:00:00.000'
                  public static string stripTime(string s) {
                      string date = "";
                      DateTime dt = DateTime.Parse(s);
                      date = dt.Date.ToString("MM/dd/yyyy");
                      return date;
                  }
                  // returns a date 'MM/dd/yyyy'string  from a datetime datetime 
                  public static string stripTime(DateTime d) {
                      string date = "";
                      date = d.Date.ToString("MM/dd/yyyy");
                      return date;
                  }
                  

                  【讨论】:

                    【解决方案10】:

                    这肯定行得通:

                    var dateAndTime = Convert.ToDateTime(certificate.GetEffectiveDateString());
                    var date = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day);
                    

                    不过,我还没有尝试过,但它应该会给出你想要的结果。 你甚至可以为它创建一个扩展方法:

                    public static class DateExtension
                    {
                        public DateTime ToDateOnly(this DateTime d)
                        {
                           return new DateTime(d.Year, d.Month, d.Day);
                        }
                    }
                    

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 2011-08-20
                      • 1970-01-01
                      • 1970-01-01
                      • 2018-09-21
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多