加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

.net – 在TextBox中以d / mm格式输入日期

发布时间:2020-12-14 01:40:19 所属栏目:Windows 来源:网络整理
导读:我有一个TextBox绑定到一个可空的DateTime属性. 我在澳大利亚,所以我希望以d / mm / yyyy格式显示日期. 在我的Windows 7框上,我可以输入d / mm格式的日期,并将其正确转换(例如1/11转换为11月1日,13/1转换为1月13日等) 在我的Windows 8框中,同样的输入被解释
我有一个TextBox绑定到一个可空的DateTime属性.

我在澳大利亚,所以我希望以d / mm / yyyy格式显示日期.

在我的Windows 7框上,我可以输入d / mm格式的日期,并将其正确转换(例如1/11转换为11月1日,13/1转换为1月13日等)

在我的Windows 8框中,同样的输入被解释为美国格式,所以1/11转换为1月11日,13/1失败(因为没有第13个月).

这两台计算机都设置为使用澳大利亚格式,我在Application.StartUp事件中有这个代码:

FrameworkElement.LanguageProperty.OverrideMetadata(GetType(FrameworkElement),New FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)))

Binding的StringFormat设置为d / MM / yyyy,并且我已经通过将TextBlock绑定到将其StringFormat设置为D的同一属性(长日期格式,它给出了如“星期三”,“ 2012年1月11日’).

有没有人有任何想法?

更新:进一步的调查(见下面的评论)显示,这似乎是与Windows 7相比,Windows 8上的en-AU文化不同的问题,这意味着它将mm / dd格式的“1/11”日期解释为Windows 8,而在Windows 7上,它以dd / mm格式解释它们,这是我在使用en-AU文化时期望的.

由于IetfLanguageTag已被弃用,您是否考虑使用Name属性?

http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.ietflanguagetag.aspx:

The format of an IETF language tag is similar to the culture name returned by the Name property,but does not identify a culture uniquely. That is,different cultures share the same IETF language tag if those cultures have identical linguistic characteristics.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读