【问题标题】:DateTime string format (dd.MM) localized XAMLDateTime 字符串格式 (dd.MM) 本地化 XAML
【发布时间】:2014-01-13 16:00:45
【问题描述】:
我发现了一些有用的问题,但他们没有帮助我。我正在开发 Windows Phone 8 应用程序,如果文化是土耳其语,我只想在 TextBlock(绑定日期时间)上显示 dd.MM。如果文化是 en 则显示 MM.dd
文本="{绑定 MyProperty.CreateDate, StringFormat=\{0:dd.MM\}}"
以上代码在土耳其文化中是正确的。但是在英语中是没有意义的。实际上问题不在于英语或土耳其语。我只想显示以当前文化格式化的日和月。
【问题讨论】:
标签:
datetime
windows-phone-8
culture
【解决方案1】:
如果您想指定自己的格式,可以在本地化资源文件中创建不同的格式字符串并绑定到 StringFormat
Text="{Binding MyProperty.CreateDate, StringFormat={StaticResource shorDateFormatString}}"
或者,在代码隐藏中设置日期文本,并使用一些自定义逻辑来查看本地约定中的月份或日期是第一位的
string shortDatePattern = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern
if(shortDatePattern.indexOf("dd") < shortDatePattern.indexOf("MM"))
dateLabel.Text = MyProperty.CreateDate.toString("dd.MM")
else
dateLabel.Text = MyProperty.CreateDate.toString("dd.MM")
正如this response中所建议的那样