首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日期选择器不能使用自定义格式

日期选择器不能使用自定义格式
EN

Stack Overflow用户
提问于 2018-11-02 10:25:56
回答 3查看 282关注 0票数 0

在我的WPF项目中,我有一个DatePicker,但是如果我输出它,它会给我2018年11月2日。

但我需要它2018-10-2,因为我想要它的SQL。

我试过这段代码:

代码语言:javascript
复制
dpStart.Format = DateTimePickerFormat.Custom
DateTimePicker1.CustomFormat = "dd-MM-yyyy"

但是说没有日期选择的格式。

我做错了什么?是否有一种将DatePicker格式转换为SQL的简单方法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-11-02 13:06:17

但我需要它2018-10-2,因为我想要它的SQL。

DateTime控件存储的DatePicker值没有特定的格式。但是,在将值转换为string时,您可以应用一种格式:

代码语言:javascript
复制
string formattedDate = dpStart.SelectedDate.Value.ToString("yyyy-MM-dd");

但是,您确实应该考虑将实际的DateTime值传递到数据访问层,而不是将格式化的string传递到数据访问层。

票数 2
EN

Stack Overflow用户

发布于 2018-11-02 12:17:32

代码语言:javascript
复制
<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”。

票数 1
EN

Stack Overflow用户

发布于 2018-11-02 10:30:09

你可以这样做

代码语言:javascript
复制
 DateTime dpStartDate = (DateTime)dpStart.SelectedDate;
 string result = dpStartDate.ToString("yyyy-MM-dd");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53116762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档