C# 将dateTime的格式更改为仅日期

C# 将dateTime的格式更改为仅日期,c#,wpf,date,datetime,C#,Wpf,Date,Datetime,我有一个列表:“IList”,其中一个字段是“dateTime”。 我将这个列表添加到dataGrid(wpf)中,文件“dateTime”的所有值都以这种格式显示:“MM/dd/YYYY hh:MM:ss tt”, 我希望此值仅显示日期(日期格式:dd/MM/YYYY) 我的代码(这不是解决方案): listUsers=(IList)列表; foreach(listUsers中的用户) { user.birth=user.birth.Date; } dataGrid1.ItemsSource=

我有一个列表:“IList”,其中一个字段是“dateTime”。 我将这个列表添加到dataGrid(wpf)中,文件“dateTime”的所有值都以这种格式显示:“MM/dd/YYYY hh:MM:ss tt”, 我希望此值仅显示日期(日期格式:dd/MM/YYYY)

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

listUsers=(IList)列表;
foreach(listUsers中的用户)
{
user.birth=user.birth.Date;
}
dataGrid1.ItemsSource=listUsers;
listClass=“用户”;

对于“短日期模式”,可以将列的binding StringFormat设置为“d”。有关所有可用日期时间格式的列表,请参见

例如:

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

日期的格式纯粹是一种视觉形式——这意味着在显示之前不应该迭代初始数据并进行翻译。特别是在WPF中,这使得这类事情变得非常简单


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

您看过这些答案吗;user.birth.Date.ToShortDateString()就足够了
<DataGrid ItemsSource="{Binding Users}">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Date" 
                            Value="{Binding JoinDate, StringFormat={}{0:d}}" />
    </DataGrid.Columns>
</DataGrid>