我有一个对象属性DateTime Date
。我试图将其保留为DateTime
对象,但仅显示日期,即9/30/2013
。我不想使用ToString()
或ToShortDateString()
。我尝试过使用Date.Date
,但这仍然显示日期和时间。有没有办法查看DateTime
的日期而不将其转换为字符串?
我也读过this question。这个问题按照我的方式措辞,但答案仍然使用ToShortDateString()
。
这将显示在绑定到我的对象的DataGrid
中。
答案 0 :(得分:5)
根据定义,DateTime
将始终具有日期和时间的值。您可以通过DateTime
将其转换为代表日期部分(时间为午夜)的另一个DateTime.Date
。
但是,为了在控件中显示DateTime
,它将始终转换为字符串。最佳选择通常是尝试控制DataGrid
<DataGrid AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding TheDate, StringFormat={}{0:MM/dd/yyyy}}" />
</DataGrid.Columns>
</DataGrid>
这会导致绑定到“TheDate”的列在显示DateTime
时使用自定义字符串格式。
答案 1 :(得分:0)
您可以使用string.Format()
:
var date = new DateTime(2013, 09, 30);
string.Format("{0:dd MM yyyy}", date); // 09 30 2013