3

我有一个对象属性,DateTime Date. 我试图将其保留为DateTime对象,但仅显示日期,即9/30/2013. 我不想使用ToString()or ToShortDateString()。我试过使用Date.Date,但这仍然显示日期和时间。有什么方法可以查看 a 的日期DateTime而不将其转换为字符串?

我也读过这个问题。这个问题的措辞是我想要的,但答案仍然使用ToShortDateString().

这将显示在DataGrid绑定到我的对象的中。

4

2 回答 2

7

根据DateTime定义, A 将始终具有日期和时间的值。您可以通过 将其转换为另一个DateTime代表日期部分(时间为午夜)DateTime.Date

但是,为了DateTime在控件中显示,它总是会被转换为字符串。最好的选择通常是尝试控制转换在您的DataGrid:

<DataGrid AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding TheDate, StringFormat={}{0:MM/dd/yyyy}}" />
    </DataGrid.Columns>
</DataGrid>

这将导致绑定到“TheDate”的列在显示您的DateTime.

于 2013-09-30T21:47:12.920 回答
0

你可以使用string.Format()

var date = new DateTime(2013, 09, 30);
string.Format("{0:dd MM yyyy}", date); // 09 30 2013
于 2013-09-30T21:47:04.903 回答