我需要删除日期时间的时间部分,或者可能有以下格式的日期在对象形式,而不是在字符串形式。

06/26/2009 00:00:00:000

我不能使用任何字符串转换方法,因为我需要对象形式的日期。

我尝试先将DateTime转换为字符串,从它中删除特定的时间日期,但它添加了12:00:00 AM,只要我将它转换回DateTime对象。


当前回答

static void Main(string[] args)
{
    string dateStrings =  "2014-09-01T03:00:00+00:00" ;

    DateTime convertedDate = DateTime.Parse(dateStrings);
    Console.WriteLine("  {0} ----------------- {1}",

    convertedDate,DateTime.Parse(convertedDate.ToString()).ToString("dd/MM/yyyy"));

    Console.Read();
}

其他回答

只需使用一行代码:

var dateAndTime = DateTime.Now.Date;

DateTime。日期

var newDate = DateTime.Now; //newDate.Date property is date portion of DateTime

最简单的方法是这样的,它只返回日期:

var date = DateTime.Now.ToShortDateString();

使用date. toshortdatestring()获取没有时间组件的日期

var date = DateTime.Now
var shortDate = date.ToShortDateString() //will give you 16/01/2019

使用date. tostring()自定义日期格式

var date = DateTime.Now
var shortDate = date.ToString('dd-MMM-yyyy') //will give you 16-Jan-2019

试试这个,如果你使用DateTimeOffset,它也会照顾时区

date1 = date1.LocalDateTime.Date;

如果你需要增加工作时间,可以这样做:

date1 = date1.LocalDateTime.Date;
date1 = date1.AddHours(23).AddMinutes(59).AddSeconds(59);