gpt4 book ai didi

java - 无法将字符串转换为 long(timestamp) 或 long 转换为字符串

转载 作者:行者123 更新时间:2023-12-02 08:52:46 25 4
gpt4 key购买 nike

更大的图景是我正在编写一个使用 h2 数据库的 junit 测试。我需要比较端点返回的值并执行断言。响应正文中的值是链接的 HashMap 。键都是字符串。值可以是日期、整数、字符串或 null。

我已将预期值存储在字符串数组中。我循环遍历链接 HashMap 中的值,检查它是否为空、整数或日期,然后进行适当的处​​理。日期值 2020-02-03 已转换为 Long 1580709600000。我相信日期以某种方式转换为时间戳。我无法将其转换回最新版本。或返回时间戳的期望值。我在这两种情况下都遇到异常。如何解决这个问题?谢谢你的时间。 enter image description here

    String values = "205,2020-02-03,Commodi";

ResponseEntity<String> response = testRestTemplate.getForEntity(ResourceUrl, String.class);
@SuppressWarnings("unchecked")
List<Map<String, String>> list = objectMapper.readValue(response.getBody(), List.class);

Iterator<Map.Entry<String, String>> it = list.get(0).entrySet().iterator();

String expected_values[] = values.split(",", -1);
int i = 0;

while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();

if (expected_values[i].isEmpty())
assertEquals(String.valueOf("null"), String.valueOf(entry.getValue()));
else if (isInteger(expected_values[i],10))
{
assertEquals(Integer.valueOf(expected_values[i]), entry.getValue());
}
else if(isValidDate(expected_values[i]))
{
//long timestamp = Long.valueOf(expected_values[i].trim());
//Long timestamp = Long.valueOf(entry.getValue().trim());
// Timestamp ts=new Timestamp(entry.getValue());
// SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date(Long.valueOf(entry.getValue().trim()));
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String formatedDate = format.format(date);
// assertEquals(formatter.format(ts), entry.getValue());
//Date date = Date.from(Instant.ofEpochMilli(Long.valueOf(entry.getValue().trim())));

}
else
{
assertEquals(expected_values[i], entry.getValue());
}
i++;
}

最佳答案

您可以将 long 值作为 long 输入到对象日期中,然后可以使用 SimpleDateFormat 来应用您希望在下面的代码中看到的模式:

Date date = new Date(Long.valueOf(entry.getValue().trim()));
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String formatedDate = format.format(date);

关于java - 无法将字符串转换为 long(timestamp) 或 long 转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60676977/

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