0
    public static String formatter(String dateInPattern, String dateOutPattern) {
    OffsetDateTime dateInPatternFormat = OffsetDateTime.parse(dateInPattern, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"));
    Date dateInValue = DateTimeUtils.toDate(Instant.parse(dateInPatternFormat.toString()));
    OffsetDateTime dateOutPatternFormat = OffsetDateTime.parse(dateOutPattern);

    return dateOutPatternFormat.format(DateTimeFormatter.ofPattern(dateInValue.toString()));

}

我需要在这个模式中输入一个日期 yyyy-MM-dd'T'HH:mm:ss'Z' 这等于 (2018-07-22T14:00:00-03:00)。我需要这种模式的输出 dd/MM/yyyy

请帮帮我。

我在 android 上遇到了很多日期问题 :(

4

1 回答 1

4

您的代码非常混乱,名称很奇怪,而且您似乎混淆了模式字符串,例如yyyy-MM-dd,与字符串,例如2018-07-22

值字符串2018-07-22T14:00:00-03:00可以在OffsetDateTime不指定 a的情况下解析为 an DateTimeFormatter,因为这是 an 的默认格式OffsetDateTime

如果您随后需要将其格式化dd/MM/yyyy,则使用DateTimeFormatter.

不知道为什么你的方法需要 2 个参数。

例子:

String input = "2018-07-22T14:00:00-03:00";
OffsetDateTime offsetDateTime = OffsetDateTime.parse(input);
String output = offsetDateTime.format(DateTimeFormatter.ofPattern("dd/MM/yyyy"));
System.out.println(output); // prints: 22/07/2018
于 2018-09-27T22:20:36.500 回答