在Java中,有没有办法通过locale获取带后缀的日期?

时间:2017-02-17 23:13:39

标签: java date locale

例如,日期为02/01,没有日期后缀。

给定en_US(locale)的输入参数,它将返回2月1日。

给定fr_CA(locale)的输入参数,它将返回février1er。

给定zh_CN(locale)的输入参数,它将返回二月1日。

我真正期望的是与语言环境一起使用后缀的日期。我在线搜索了一些java源代码,我可以通过这样的方式获得带有后缀的英文日期。

        switch (previousChar) {
            case '1': {
                return "th";
            }
            default: {
                switch (lastChar) {
                    case '1':
                        return "st";
                    case '2':
                        return "nd";
                    case '3':
                        return "rd";
                    default:
                        return "th";
                }
            }
        }

然而,这还不够。因为对于不同的语言环境/语言,日期的后缀是不同的。

任何帮助都将非常感谢!

1 个答案:

答案 0 :(得分:0)

看起来Java不支持它,但我用Google搜索了一下,你可以使用外部库做类似的事情。看看这个链接:

Joda DateTimeFormat with proper number suffix

希望它有所帮助。