В настоящее время у меня есть некоторый пользовательский код отчетности TestNG, который работает с локальной базой данных MySQL, с которой я тестировал.Полученная база данных является postgres из-за проблем с последними версиями MySQL в AWS, при попытке преобразовать формат TestNG в миллисекунды. У меня возникли проблемы с форматом, который, как мне кажется, не позволяет получить тот, который работает правильно.
В моем пользовательском коде отчета использовалось следующее:
report.reporting.put("startDate", testResult.getStartMillis());
report.reporting.put("endDate", testResult.getEndMillis());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
String startDbTime = sdf.format(report.get("startDate"));
String endDbTime = sdf.format(report.get("endDate"));
Когда я пробую некоторые из форматов даты, я получаю ошибки индексации, такие как: DateTimeParseException: текст не может быть проанализирован с индексом 4
Я использовал несколько различных опций, таких как смещение или мгновенно, но безуспешно.
Это коллекция опций, которые я пробовал.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
String startDbTime = sdf.format(report.get("startDate"));
String endDbTime = sdf.format(report.get("endDate"));
// OffsetDateTime startDbTime = OffsetDateTime.parse(startRawDbTime);
// OffsetDateTime endDbTime = OffsetDateTime.parse(endRawDbTime);
// ZonedDateTime startDbTime = ZonedDateTime.parse(startRawDbTime);
// ZonedDateTime endDbTime = ZonedDateTime.parse(endRawDbTime);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
String startRawDbTime = sdf.format(report.get("startDate"));
String endRawDbTime = sdf.format(report.get("endDate"));
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
LocalDate startParse = LocalDate.parse(startRawDbTime,formatter);
LocalDate endParse = LocalDate.parse(endRawDbTime,formatter);
Long startTimeRaw = Long.parseLong(report.get("startDate").toString());
Instant startInst = Instant.ofEpochMilli(startTimeRaw);
ZonedDateTime zoneStart = ZonedDateTime.ofInstant(startInst, ZoneOffset.UTC);
LocalDate dateStart = formatter.format(zoneStart);
Есть ли у меня шаг конвертации?отсутствует?Я думал, что было бы просто преобразовать из миллис в то, что принял бы Postgres.