27 lines
1.1 KiB
Java
27 lines
1.1 KiB
Java
package eu.dnetlib.ariadneplus.reader.utils;
|
|
|
|
import java.time.LocalDate;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatterBuilder;
|
|
import java.time.temporal.ChronoField;
|
|
|
|
public class ESUtils {
|
|
private static DateTimeFormatter originalRecordDateFormatter = DateTimeFormatter.ofPattern("dd MMM yyyy");
|
|
private static DateTimeFormatter elasticSearchDateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
private static DateTimeFormatter yearOnlyDateFormatter = new DateTimeFormatterBuilder()
|
|
.appendPattern("yyyy")
|
|
.parseDefaulting(ChronoField.MONTH_OF_YEAR, 1)
|
|
.parseDefaulting(ChronoField.DAY_OF_MONTH, 1)
|
|
.toFormatter();
|
|
|
|
public static String getESFormatDate(String originalDate) {
|
|
try {
|
|
LocalDate parsedDate = LocalDate.parse(originalDate, originalRecordDateFormatter);
|
|
return parsedDate.format(elasticSearchDateFormatter);
|
|
} catch (Exception e) {
|
|
LocalDate parsedDate = LocalDate.parse(originalDate, yearOnlyDateFormatter);
|
|
return parsedDate.format(yearOnlyDateFormatter);
|
|
}
|
|
}
|
|
}
|