【问题标题】:Formatting a DateTime value Day value格式化 DateTime 值 Day 值
【发布时间】:2011-03-08 17:43:41
【问题描述】:

有没有一种简单的方法可以以 1 日、2 日、3 日……的格式显示日期的日期部分?我怀疑没有通过自定义日期时间格式字符串来做到这一点的方法(我会很高兴错了),那么有没有人实现了这样做的方法?

【问题讨论】:

  • 您使用的是什么语言和 .net 版本?
  • @Misnomer - 目前使用 .Net 3.5。我会用任何 .Net 语言回答。
  • @StriplingWarrior - 感谢您的链接。我会看看我是否实现了类似的解决方案。

标签: datetime .net-3.5 ordinals


【解决方案1】:

这是实现这个目的的核心逻辑:

string SuffixForDay(DateTime date) {
    switch (date.Day) {
        case 1:
        case 21:
        case 31:
            return "st";
        case 2:
        case 22:
            return "nd";
        case 3:
        case 23:
            return "rd";
        default:
            return "th";
     }
 }

【讨论】:

  • +1 - 对于简单的代码..(以及之前对我已删除答案的评论!)
【解决方案2】:

您可以为此目的使用DateTime.Day 属性。

【讨论】:

  • ...并编写代码动态添加后缀:st、nd、rd、th(好像只有4种情况)
  • Day 只会返回整数值,而不是后缀“st”、“rd”、“th”等
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多