删除时间部分并以不同格式转换日期时间

时间:2013-10-23 11:48:01

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

我有一个日期时间对象,我通过此

提取的部分时间
var dateAndTime = Convert.ToDateTime(certificate.GetEffectiveDateString());
var date = dateAndTime.Date;

日期返回一个值:10/23/2013 12:00:00 AM其中只应返回10/23/2013 不知道为什么不删除时间部分。

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

我们可以删除时间部分,并通过定义的某些格式将其更改为此格式。

10 个答案:

答案 0 :(得分:7)

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

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

将为您提供格式化的日期字符串。

答案 1 :(得分:3)

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

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

Date Time formats

答案 2 :(得分:2)

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

答案 3 :(得分:1)

以下是所有标准日期格式。

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

答案 4 :(得分:1)

使用Date属性:

OR

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

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

答案 5 :(得分:1)

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

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

使用此ToString重载。

答案 6 :(得分:1)

如果要检索仅限日期的字符串表示,可以使用

dateTime.ToString("d")

格式,根据MSDN

答案 7 :(得分:1)

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

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

有关自定义日期的详细信息,请参阅此URL和此URL

答案 8 :(得分:0)

// 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;
}

答案 9 :(得分:0)

当然这会奏效:

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);
    }
}