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

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

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

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


当前回答

您可以使用像https://www.nuget.org/packages/Date/这样的Date库 使用Date值,将它们转换为DateTimes,等等。

免责声明我是上述软件包的作者。

其他回答

下面是另一个使用String的方法。格式

    DateTime todaysDate = DateTime.UtcNow;

    string dateString = String.Format("{0:dd/MM/yyyy}", todaysDate);

    Console.WriteLine("Date with Time: "+ todaysDate.ToString());

    Console.WriteLine("Date Only : " + dateString);

输出:

Date with Time: 9/4/2016 11:42:16 AM

Date Only : 04/09/2016

如果日期时间存储在数据库中,这也适用。

有关更多日期和时间格式,请检查这些链接:

参考1

参考2

希望有帮助。

自从。net 6 / c# 10以来,你可以这样做:

var dateOnly = DateOnly.FromDateTime(dateTime);
string dt = myCalender.SelectedDate.ToString();
string date = dt.Remove(10);
displayDate.Content = date;

如果你从日历上取日期,我们也会得到时间。这不是一直都需要的。使用它,我们可以从日期中删除时间。

如果你想使用绑定,只显示日期部分而不显示时间

ToolTip=“{{Binding TransactionModel.TransactionDate, StringFormat=d}”

你可以试着从约会时间开始

String.Format("{0:d/M/YYYY}",dt);

dt在哪里是DateTime