java - 如何解析日期数字后带有字母的日期

标签 java parsing date

我知道如何在 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/

相关文章:

java - 多平台安卓应用

java - 在 java servlet doPost() 方法中发送重定向

java - 在Java中,如何让我的程序仅在前一个查询的值为true的情况下才询问下一个查询?

c# - ParseExact 不解析带有日期的字符串,带有序数但没有年份的日期

php - 检查输入的开始和结束日期是否在数据库中已有的开始和结束日期之间

Javascript new Date() 返回不同的日期

java - Firebase 数据库空对象引用

java - 解析包含动态 javascript 对象的网页

java - 您能推荐一个用于读取(也可能写入)CSV 文件的 Java 库吗?

sql - 需要返回一个值,当某个日期范围内不存在该值时,该值的计数为 0