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

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

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

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


当前回答

这可以简单地这样做:

var dateOnly = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day)

其他回答

这种方法只得到日期而没有时间

DateTime date = DateTime.Now;
string Strdateonly = date.ToString("d");

输出= 5/16/2015

DateTime。日期

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

使用Date属性:

var dateAndTime = DateTime.Now;
var date = dateAndTime.Date;

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

我知道这是一个有很多答案的老帖子,但我还没有见过这种删除时间部分的方法。假设您有一个名为myDate的DateTime变量,其中日期和时间部分。你可以从它创建一个新的DateTime对象,没有时间部分,使用这个构造函数:

public DateTime(int year, int month, int day);

是这样的:

myDate = new DateTime(myDate.Year, myDate.Month, myDate.Day);

通过这种方式,您可以基于旧的DateTime对象创建一个新的DateTime对象,其中00:00:00作为时间部分。

您可以使用格式字符串为输出字符串提供您喜欢的格式。

DateTime dateAndTime = DateTime.Now;
Console.WriteLine(dateAndTime.ToString("dd/MM/yyyy")); // Will give you smth like 25/05/2011

阅读有关自定义日期和时间格式字符串的详细信息。