package com.wilutions.itol.db;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
public class ISODate {
public final static SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
public static String toISO(LocalDateTime ldate) {
String iso = null;
if (ldate != null) {
Date date = Date.from(ldate.atZone(ZoneId.systemDefault()).toInstant());
iso = toISO(date);
}
return iso;
}
public static LocalDateTime toLocalDateTime(String iso) throws ParseException {
LocalDateTime ldate = null;
if (iso != null && iso.length() != 0) {
try {
Date date = dateTimeFormat.parse(iso);
ldate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
} catch (ParseException e) {
// log.log(Level.WARNING, "Failed to parse ISO date provided by
// JIRA for property worklog.started=" + iso, e);
throw e;
}
}
return ldate;
}
public static String toISO(Date date) {
String iso = null;
if (date != null) {
iso = dateTimeFormat.format(date);
}
return iso;
}
}