在我的WPF项目中,我有一个DatePicker,但如果输出它,它将给我2018年11月2日。
但是我需要它作为2018-10-2,因为我想要用于SQL。
我尝试了以下代码:
class Foo {
public string abc {get;set}
}
但是Visual Studio说日期选择器没有格式。
我该怎么办?有没有简单的方法可以将DatePicker格式转换为SQL?
答案 0 :(得分:2)
但是我需要它作为2018-10-2,因为我想要用于SQL。
由DateTime
控件存储的DatePicker
值没有特定的格式。但是,当您将值转换为string
时,可以应用格式:
string formattedDate = dpStart.SelectedDate.Value.ToString("yyyy-MM-dd");
但是您应该真正考虑将实际的DateTime
值而不是格式化的string
传递到您的数据访问层。
答案 1 :(得分:1)
<Style TargetType="{x:Type DatePickerTextBox}">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<TextBox x:Name="PART_TextBox"
Text="{Binding Path=SelectedDate, StringFormat='dd-MM-yyyy',
RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
使用上面的代码将DatePicker控件的日期的显示格式更改为“ dd-MM-yyyy”
答案 2 :(得分:0)
您可以执行
之类的操作 DateTime dpStartDate = (DateTime)dpStart.SelectedDate;
string result = dpStartDate.ToString("yyyy-MM-dd");