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

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

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

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


当前回答

以上答案都没有解决我的winforms问题。

到达ONLY date的最简单方法是Datetime中的简单函数:

DateTime dt = DateTime.now;
String BirthDate = dt.ToShortDateString();

你将只在生日字符串中有日期。

其他回答

将Date属性添加到DateTime变量

var dateTime = DateTime.Now
var onlyDate = dateTime.Date

或者您也可以使用DataType注释。

[DataType(DataType.Date)]
public DateTime dateTime {get; set;}

DataType注释位于System.ComponentModel.DataAnnotations命名空间内。

我认为你会这样:DateTime onlyDate = DateTime. today . date; 或者,这是相同的DateTime onlyDate = yourDateTime.Date; 所以使用属性Date。

使用方法ToShortDateString。参见文档http://msdn.microsoft.com/en-us/library/system.datetime.toshortdatestring.aspx

var dateTimeNow = DateTime.Now; // Return 00/00/0000 00:00:00
var dateOnlyString = dateTimeNow.ToShortDateString(); //Return 00/00/0000

这适用于c# 10及以上版本,现在只有DateOnly和TimeOnly格式可用。使用下面的格式,您可以从DateTime格式中提取DateOnly。

DateOnly myDateNoTime = DateOnly.FromDateTime(DateTime.Now);

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

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

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