WPF日期选择器控件以dd-mm-yyyy格式保存

时间:2019-02-12 14:15:04

标签: c# wpf datepicker

在我的wpf应用中,我正在使用datepicker控件选择日期,如下所示:

<DatePicker Name="dtpSales" Grid.Row="3" SelectedDate="{Binding SalesDate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, TargetNullValue ={x:Static System:DateTime.Now}}" Width="200" Height="24" HorizontalAlignment="Left" Margin="147,7,0,5" BorderBrush="Black" Grid.ColumnSpan="2" />

我可以将日期保存为mm-dd-yyyy格式。我如何以25-05-2019格式保存它?绑定的SalesDate是DateTime数据类型。

已编辑:我有一个日期对象,值为12-02-2019(dd-MM-yyyy),并将其保存为sql server表为2019-12-02(yyyy-dd-MM)。当我从数据库中检索日期时,该日期的值将为02-12-2019(MM-dd-yyyy)。现在我想在该日期之前再加上4个月。

        int salesid = (int)dr["SalesID"]; // dr is the datarow
        DateTime salesdate = (DateTime)dr["SalesDate"];
        string sdate = salesdate.AddMonths(4).ToString("dd-MM-yyyy");
        DateTime servicedate = Convert.ToDateTime(sdate); // 2020-12-02

当我在02-12-2019上增加4个月时,它将变成2020-12-02 ??? 当我在2019年12月12日添加仅4个月时,我无法获得正确的日期。

1 个答案:

答案 0 :(得分:0)

已编辑:从注释看来,您的数据库已经在返回DateTime对象。以下内容就足够了:

int salesid = (int)dr["SalesID"]; // dr is the datarow
DateTime salesdate = (DateTime)dr["SalesDate"];
DateTime servicedate = salesdate.AddMonths(4); // 2020-12-02

(感谢Chris Dunaway提出改进建议)