【问题标题】:Formatting DateTime to be Human Readable (Eg Messaging App)将日期时间格式化为人类可读的(例如消息应用程序)
【发布时间】:2012-04-12 11:43:46
【问题描述】:

如何格式化 DateTime 绑定,使其看起来与 Messaging Hub 完全一样(或尽可能相似)。

下面的代码块是我理想用来显示它的代码,还是我只需要放弃并使用转换器?

<TextBlock TextAlignment="Right">
    <TextBlock.Text>
        <Binding Path="Time"
                 StringFormat="*String format here?*"/>
    </TextBlock.Text>
</TextBlock>

我想要的结果如下:

  • 12:17(仅时间)如果今天
  • 星期三,18:10(白天 + 时间),如果在 7 天内
  • 01/04,15:58(如果超过 7 天)

【问题讨论】:

  • 就像他们在下面所说的那样,您需要使用转换器,但我强烈建议您尝试自己编写此转换器。了解如何编写转换器是 Silverlight/WPF/WP7 开发的一项关键技能。
  • 感谢您的建议,我同意它们会很有用!我正在研究写一个转换器。然而,这不是这样做的地方,我只是测试了工具包提供的 DateTime 转换器,它们执行了许多特定于区域的更改,我不想通过不按照他们想要的方式格式化日期来惹恼用户!
  • 可以理解(也是一个很好的考虑)。

标签: windows-phone-7 xaml silverlight-4.0 windows-phone-7.1


【解决方案1】:

您可能需要实现一个日期到字符串的转换器,该转换器将生成您正在寻找的特定文本,因为您需要的逻辑数量超出了 StringFormat 属性的范围。

更多细节,特别是 ThreadDateTimeConverter :-

http://www.windowsphonegeek.com/articles/Windows-Phone-Toolkit-DateTime-Converters

【讨论】:

    【解决方案2】:

    使用 Silverlight for Windows Phone Toolkit! 中的 DateTimeConverters 之一!

    您可以查看here 了解有关 DateTimeConverters 使用情况的一些信息。

    【讨论】:

      猜你喜欢
      • 2013-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 2018-04-22
      相关资源
      最近更新 更多