gpt4 book ai didi

java - mockServer 和Expect(content().XML 与当前日期连接

转载 作者:行者123 更新时间:2023-12-04 07:15:44 24 4
gpt4 key购买 nike

我收到断言错误“正文内容预期子项但在断言 andExpect XML 时为空。如果我作为字符串输入“2020-10-01-5:00”它工作正常,但如果我将日期连接成一个字符串喜欢:

    LocalDate startDate = LocalDate.now().minusDays(90);
String startDateLine = "<start-date>" + startDate + "-5:00</start-date>\n";
它抛出断言错误。我已经在调用之前验证了 XML 是正确的,所以我不确定获取日期并转换为字符串会导致测试失败。

最佳答案

更新
不要将偏移字符串添加到 LocalDate字符串以便将其转换为 OffsetDateTime字符串。下面显示的是转换 LocalDate 的惯用方法。至 OffsetDateTime

LocalDate.of(2020, 10, 1)
.atStartOfDay()
.atOffset(ZoneOffset.of("-05:00"));
演示:
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;

public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2020, 10, 1);
LocalDateTime ldt = date.atStartOfDay();
OffsetDateTime odt = ldt.atOffset(ZoneOffset.of("-05:00"));
System.out.println(odt);
}
}
输出:
2020-10-01T00:00-05:00
ONLINE DEMO
您可以获得 String OffsetDateTime 的表示使用函数 OffsetDateTime#toString 例如
String strOdt = odt.toString();
原答案
  • 将您的输入更改为具有格式 HH:mm 的时区偏移量例如-05:00使其符合 ISO 8601 standards .
  • 使用 DateTimeFormatterBuilder.parseDefaulting(ChronoField.HOUR_OF_DAY, 0)将每天的小时数默认为 0。
  • 将给定的字符串解析为 OffsetDateTime因为它有时区偏移和 OffsetDateTime最适合用时区偏移来表示日期时间。

  • 演示:
    import java.time.OffsetDateTime;
    import java.time.format.DateTimeFormatter;
    import java.time.format.DateTimeFormatterBuilder;
    import java.time.temporal.ChronoField;
    import java.util.Locale;

    public class Main {
    public static void main(String[] args) {
    DateTimeFormatter dtf =new DateTimeFormatterBuilder()
    .appendPattern("u-M-d[H:m:s]XXX")
    .parseDefaulting(ChronoField.HOUR_OF_DAY, 0)
    .toFormatter(Locale.ENGLISH);

    OffsetDateTime odt = OffsetDateTime.parse("2020-10-01-05:00", dtf);
    System.out.println(odt);
    }
    }
    输出:
    2020-10-01T00:00-05:00
    ONLINE DEMO
    注意方括号内的可选模式。
    了解更多关于 modern Date-Time API * 来自 Trail: Date Time .

    关于java - mockServer 和Expect(content().XML 与当前日期连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68777420/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com