我知道如何在 Java 中使用 SimpleDateFormat。但是,解析日期数字后包含一些字母的所有日期的最好方法是什么?例如:“2014 年 5 月 25 日”、“2014 年 5 月 3 日”、“2014 年 5 月 1 日”。你知道字母有什么不同吗?所以我不想为每个数字结尾创建单独的格式化程序。在 Java 中是否有更好的方法?
最佳答案
您可以使用 replaceAll
将它们全部转换为通用字符串,然后将其放入单个格式化程序字符串中。
theDate = theDate.replaceAll("(?:(st|nd|rd|th))","xx");
if (theDate.contains("guxx")) // Handle fixing "August" becoming "Auguxx"
theDate = theDate.replace("guxx","gust");
这会将 1st 2nd 3rd 4th 5th
更改为 1xx 2xx 3xx 4xx 5xx
。现在您可以在模式中使用静态字符串“xx”。
关于java - 如何解析日期数字后带有字母的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29932841/