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

以Java格式将日期格式设置为特定格式

朱昊乾
2023-03-14

我从open API中获取的日期是2021-04-28。我想以以下方式格式化它4/28/2021。下面是我尝试的方法:

public String formatDateFetchedFromAPI(String trans_date) {
    
    LocalDate apiDate = LocalDate.parse(trans_date, DateTimeFormatter.BASIC_ISO_DATE);
    
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("M/d/yyyy");
    String actual_date = formatter.format(apiDate);
    return actual_date;
    
}

这将抛出一个错误,说明:java.time.format.DateTimeParseException:文本“2021-04-28”无法在索引4处解析

请注意,如果我从open api中提取的数据是20210426,那么这个方法可以正常工作,并返回4/28/2021

请建议和劝告。

共有1个答案

苏硕
2023-03-14

您的日期看起来像iso_local_date,而不是basic_iso_date,因此您可以使用:

LocalDate apiDate = LocalDate.parse(trans_date);

没有DateTimeFormatter,因为LocalDate.Parse默认使用iso_local_date

 类似资料:
  • 但如何在指定时区设置日期的格式? 无论浏览器的当前时间如何,我都希望得到一致的结果,但我不希望以UTC显示日期。

  • 在使用date格式自动设置为IE后,我试图解析某个包含日期条目为纪元数值的json文档。我需要不同的格式(也需要一毫秒) 所以问题是,如何解析IE。转换为带有Bson文档的某种自定义格式字符串。解析方法? 编辑:只是一个更新:问题在document.parse方法中,因为我不知道如何在解析json文档时使用tell.parse函数来使用自定义的日期格式。我总是得到某种默认的日期格式。如何发送给.p

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

  • 问题内容: 具有String str“ May 23 2011 12:20:00”,想要将其转换为这样的日期: 它始终为我提供ParseException Unparsable日期格式:“ May 23 2011 12:20:00”。 寻找类似的问题,似乎一切正确。 怎么了? 问题答案: 如果您的VM的默认语言环境不是英语,则可能需要另外指定 Locale :

  • 我有一个hibernate实体和一个bean: 我也有 当我转到我的url时,我看到: 如何强制它具有MM/DD/YYYY格式?Thanx

  • 问题内容: 我有一个日期格式。如何将其转换为使用JavaScript? 上面的代码为我提供了相同的日期格式。我怎样才能解决这个问题? 问题答案: 你可以做: 用法示例: 输出: