DateTime 字符串格式 (dd.MM) 本地化 XAML

Posted

技术标签:

【中文标题】DateTime 字符串格式 (dd.MM) 本地化 XAML【英文标题】:DateTime string format (dd.MM) localized XAML 【发布时间】:2014-01-13 16:00:45 【问题描述】:

我发现了一些有用的问题,但他们没有帮助我。我正在开发 Windows Phone 8 应用程序,如果文化是土耳其语,我只想在 TextBlock(绑定日期时间)上显示 dd.MM。如果文化是 en 则显示 MM.dd

文本="绑定 MyProperty.CreateDate, StringFormat=\0:dd.MM\"

以上代码在土耳其文化中是正确的。但是在英语中是没有意义的。实际上问题不在于英语或土耳其语。我只想显示以当前文化格式化的日和月。

【问题讨论】:

【参考方案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中所建议的那样

【讨论】:

以上是关于DateTime 字符串格式 (dd.MM) 本地化 XAML的主要内容,如果未能解决你的问题,请参考以下文章

将字符串dd / mm / yy转换为datetime

DateTime ToString(“dd/MM/yyyy”) 返回 dd.MM.yyyy

如何发送日期时间参数为DD / MM / YYYY HH:MM:SS格式?

将 dd/mm/yyyy 格式的字符串转换为日期时间 [重复]

在SQL中将dd / mm / yyyy VARCHAR转换为yyyy-dd-mm DATETIME

Mysql:创建表时将DATETIME的格式设置为'DD-MM-YYYY HH:MM:SS'