更改日期选择器文本:大写月份
Posted
技术标签:
【中文标题】更改日期选择器文本:大写月份【英文标题】:Change date picker text: capitalize month 【发布时间】:2012-08-15 05:30:10 【问题描述】:我想通过大写月份的第一个字母来更改日期选择器。
目前我在线程中使用 setculture info 并在那里指定格式,但对于我的文化来说,月份总是小写:
CultureInfo ci = new CultureInfo("es-MX");
ci.DateTimeFormat.ShortDatePattern = "ddd dd/MMM/yyyy";
Thread.CurrentThread.CurrentCulture = ci;
显示:
大教堂 19/前/2012我想拥有:
大教堂 19/Ago/2012我该如何改变呢?
【问题讨论】:
【参考方案1】:指定AbbreviatedMonthGenitiveNames
、AbbreviatedMonthNames
和ShortDatePattern
可以解决问题。
Thread.CurrentThread.CurrentCulture = new CultureInfo("es-MX")
DateTimeFormat = new DateTimeFormatInfo
AbbreviatedMonthGenitiveNames = new string[] "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic", string.Empty ,
AbbreviatedMonthNames = new string[] "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic", string.Empty ,
ShortDatePattern = "ddd dd/MMM/yyyy"
;
产量:
编辑:
我必须补充:
...
AbbreviatedDayNames = new string[] "Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb",
太
【讨论】:
Doh.. 它说:Sun 18/Ago/2012
不是Dom 19/Ago/2012
我也必须添加AbbreviatedDayNames
【参考方案2】:
您可能可以使用CultureAndRegionInfoBuilder
class 来复制现有文化并仅更改月份名称。然后,您随后在您的应用程序中使用该文化而不是您现在使用的 CultureInfo
。
但请注意,CultureAndRegionInfoBuilder
位于 sysglobl.dll
程序集 which you'll need to import 中。
【讨论】:
不需要(不能)使用该类,而是指定AbbreviatedMonthNames
属性以上是关于更改日期选择器文本:大写月份的主要内容,如果未能解决你的问题,请参考以下文章