我需要删除日期时间的时间部分,或者可能有以下格式的日期在对象形式,而不是在字符串形式。
06/26/2009 00:00:00:000
我不能使用任何字符串转换方法,因为我需要对象形式的日期。
我尝试先将DateTime转换为字符串,从它中删除特定的时间日期,但它添加了12:00:00 AM,只要我将它转换回DateTime对象。
我需要删除日期时间的时间部分,或者可能有以下格式的日期在对象形式,而不是在字符串形式。
06/26/2009 00:00:00:000
我不能使用任何字符串转换方法,因为我需要对象形式的日期。
我尝试先将DateTime转换为字符串,从它中删除特定的时间日期,但它添加了12:00:00 AM,只要我将它转换回DateTime对象。
当前回答
这适用于c# 10及以上版本,现在只有DateOnly和TimeOnly格式可用。使用下面的格式,您可以从DateTime格式中提取DateOnly。
DateOnly myDateNoTime = DateOnly.FromDateTime(DateTime.Now);
其他回答
我知道这是一个有很多答案的老帖子,但我还没有见过这种删除时间部分的方法。假设您有一个名为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作为时间部分。
如果你想使用绑定,只显示日期部分而不显示时间
ToolTip=“{{Binding TransactionModel.TransactionDate, StringFormat=d}”
string dt = myCalender.SelectedDate.ToString();
string date = dt.Remove(10);
displayDate.Content = date;
如果你从日历上取日期,我们也会得到时间。这不是一直都需要的。使用它,我们可以从日期中删除时间。
这可以简单地这样做:
var dateOnly = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day)
这适用于c# 10及以上版本,现在只有DateOnly和TimeOnly格式可用。使用下面的格式,您可以从DateTime格式中提取DateOnly。
DateOnly myDateNoTime = DateOnly.FromDateTime(DateTime.Now);