仅将dateTime的格式更改为日期

时间:2015-09-01 00:59:21

标签: c# wpf date datetime

我有一个清单:" IList"该提交的一个是" dateTime"。 我将此列表添加到dataGrid(wpf),以及字段的所有值" dateTime"以这种格式显示:" MM / dd / YYYY hh:mm:ss tt", 我希望这个值只显示日期(日期格式:dd / MM / YYYY)。

我的代码(这不是解决方案):

        listUsers = (IList<Users>)list;
        foreach (Users user in listUsers)
        {
            user.birthday = user.birthday.Date;
        }
        dataGrid1.ItemsSource = listUsers;
        listClass = "Users";

2 个答案:

答案 0 :(得分:1)

您可以将Column的绑定StringFormat设置为“短日期模式”的“d”。有关所有可用日期时间格式的列表,请参阅https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

例如:

<DataGrid ItemsSource="{Binding Users}">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Date" 
                            Value="{Binding JoinDate, StringFormat={}{0:d}}" />
    </DataGrid.Columns>
</DataGrid>

答案 1 :(得分:1)

日期格式纯粹是一种视觉效果 - 这意味着您不应该迭代初始数据并在显示之前进行翻译。特别是在WPF中,这种事情非常容易。

您正在使用DataGrid,因此在显示日期的列的绑定中,您只需指定格式字符串,如this answer中所示。