当前位置: 首页 > 知识库问答 >
问题:

定义日期格式java“rd”“st”“th”“nd”

戚明朗
2023-03-14

我有一个字符串“星期六,10月25日,11:40”

这里是我想如何转换它

private String changeDateFormat(String stringDate){

        DateFormat dateFormat = new SimpleDateFormat("DD, MM, ddth, hh:mm");
        try {
            Date date = dateFormat.parse(stringDate);
            dateFormat = new SimpleDateFormat("ddMMMyyyy");
            stringDate=dateFormat.format(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }

        return stringDate.toUpperCase();
    }

共有1个答案

荀辰钊
2023-03-14

simpledateformat似乎不容易处理日期数字后跟“st”“th”等。一个简单的解决方案是删除原始字符串的那一部分。例如。

int comma = original.lastIndexOf(',');
String stringDate =
        original.substring(0, comma - 2) +
        original.substring(comma + 1);

之后,只需在stringdate上使用此格式:

SimpleDateFormat("EE, MM, dd, hh:mm")
 类似资料:
  • 我检查了javadoc,但我无法找到一种方法来解析日期格式的序数指示器,如下所示: 我试过,但要正确,天数必须是数字? 是否可以使用解析“13”日期而不必截断字符串?

  • 问题内容: 我想要这样的python datetime对象输出(并在django中使用结果): 不过,我觉得没有办法在Python输出,,,或像我可以用PHP与日期时间格式字符串(他们叫什么“英文后缀”)(http://uk.php.net/manual/en/function。 date.php )。 在django / python中有内置的方法吗? 还不够好(http://docs.pyth

  • 问题内容: 我想根据当前日期动态生成文本字符串。因此,例如,如果是第一天,那么我希望我的代码生成=“ Its 1 * st * ”。 总共有12天,因此我执行了以下操作: 我设置了一个for循环,该循环循环了12天。 在我的html中,我为我的元素指定了一个唯一的ID作为目标,请参见下文: 然后,在我的for循环中,我有以下代码: var day = i; if (day == 1) { day

  • 有什么方法可以让Sysdate像2020年9月23日一样,上标为“rd”。我尝试了这个查询:从对偶中选择to_char(sysdate,'ddth Month, YYYY','NLS_DATE_language=American');这给我的结果是2020年9月23日,但我想要的是上标的“rd”。 提前谢谢。

  • 问题内容: 我必须在Java中使用自定义日期格式。尽管Java不提供对微秒的支持,但它包含微秒。因此,我用零填充了时间模式,在格式化时它可以很好地工作,但是我无法使用该模式解析日期字符串。 有没有简单的解决方法,还是我必须自己处理微秒(使用String函数)? java.text.ParseException:无法解析的日期:“ 2010-01-25-12.40.35.769000” 问题答案:

  • 问题内容: 我想格式化为。我已经尝试了以下步骤。 但我低于例外。 我该怎么办? 问题答案: 在这里,这有效: 在您的第一个样式中删除多余的“ T” 第二种格式不正确,应为dd-MMM-yyyy。 看看SimpleDateFormat的Javadoc