package no.met.metadataeditor.datastore;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
import javax.xml.bind.annotation.adapters.XmlAdapter;
public class DateAdapter extends XmlAdapter<String, Date> {
private final String timeZone = "UTC";
private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
@Override
public String marshal(Date v) throws Exception {
dateFormat.setTimeZone(TimeZone.getTimeZone(timeZone));
Date date = utcDate(v);
return dateFormat.format(date)+"Z";
}
private Date utcDate(Date v) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone(timeZone));
calendar.setTime(v);
Date date = new Date(calendar.getTimeInMillis());
return date;
}
@Override
public Date unmarshal(String v) throws Exception {
return dateFormat.parse(v);
}
}