package org.ovirt.engine.core.searchbackend;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import org.ovirt.engine.core.compat.DateTime;
class DateUtils {
static Date parse(String str) {
for (DateFormat fmt : formats(DateFormat.DEFAULT, DateFormat.FULL, DateFormat.LONG, DateFormat.MEDIUM, DateFormat.SHORT)) {
try {
return fmt.parse(str);
} catch (ParseException ignore) {
}
}
return null;
}
private static List<DateFormat> formats(int... styles) {
List<DateFormat> formats = new ArrayList<>();
for (int style : styles) {
addFormat(formats, style);
}
return formats;
}
private static void addFormat(List<DateFormat> formats, int style) {
formats.add(getFormat(style));
formats.add(getFormat(style, style));
}
public static DateFormat getFormat(int dateStyle) {
return DateFormat.getDateInstance(dateStyle);
}
public static DateFormat getFormat(int dateStyle, int timeStyle) {
return DateFormat.getDateTimeInstance(dateStyle, timeStyle);
}
public static String getDayOfWeek(int addDays) {
Calendar date = Calendar.getInstance();
date.add(Calendar.DATE, addDays);
return DateTime.getDayOfTheWeekAsString(date.get(Calendar.DAY_OF_WEEK)).toUpperCase();
}
}