2017-02-17 53 views
0

例如,日期为02/01而没有日期后缀。在Java中,有没有一种方法可以通过语言环境获取带后缀的日期?

给定输入参数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"; 
       } 
      } 
     } 

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

任何帮助将非常感激!

+0

看起来像java不支持这个东西 – xiumeteo

+0

[“Ordinal”](https://en.wikipedia.org/wiki/Ordinal_indicator)是日期的'st'&'rd'后缀的技术术语数字。搜索堆栈溢出以查找有关此问题的多个现有问题。内置的类不提供[顺序指示符](https://en.wikipedia.org/wiki/Ordinal_indicator),即使是漂亮的java.time类也不提供该功能。 –

回答

相关问题