【问题标题】: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中所建议的那样

    【讨论】:

      猜你喜欢
      • 2014-11-30
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      • 1970-01-01
      • 2013-03-17
      • 2023-04-09
      • 1970-01-01
      相关资源
      最近更新 更多