2013-09-30 41 views
1

我有一個對象屬性,DateTime Date。我試圖將其保存爲DateTime對象,但只顯示日期,即9/30/2013。我不想使用ToString()ToShortDateString()。我試過使用Date.Date,但這仍然顯示日期和時間。有沒有辦法查看DateTime的日期而不將其轉換爲字符串?強制DateTime變量只顯示日期而不轉換ToString()

我也讀過this question。問題的措辭是我想要的,但答案仍然使用ToShortDateString()

這將顯示在綁定到我的對象的DataGrid中。

+1

你說你想「只顯示日期」 - 這是顯示在哪裏? –

+0

你將如何「顯示」你的日期時間而不將其轉換爲字符串? – SergeyS

+0

@ReedCopsey:它顯示在綁定到我的對象的'DataGrid'中。 – MyCodeSucks

回答

4

一個DateTime,顧名思義,總會有日期和時間值。您可以通過DateTime.Date將其轉換爲另一個代表日期部分的DateTime(時間爲午夜)。

但是,爲了在控件中顯示DateTime,它總是會被轉換爲字符串。最好的選擇是典型的嘗試來控制轉換在DataGrid如何發生的:

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

這將導致必然要「TheDate」,以顯示你的DateTime時使用自定義字符串格式列。

+0

謝謝。這工作。我仍然在學習WPF的細節和這個'StringFormat'。哦,我的上帝,它會保存我的理智。我收集到它將它轉換爲字符串進行顯示,但不知道如何格式化它。再次感謝。 – MyCodeSucks

0

你可以使用string.Format()

var date = new DateTime(2013, 09, 30); 
string.Format("{0:dd MM yyyy}", date); // 09 30 2013