package de.is24.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeConstants; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; /** * * @author Martin Fluegge * */ public class TimeUtil { public static long toSeconds(long ms) { return ms / 1000; } public static int toMinutes(int s) { return s / 60; } public static XMLGregorianCalendar stringToXMLGregorianCalendar(String s, Boolean withTime) { XMLGregorianCalendar result = null; Date date = null; SimpleDateFormat simpleDateFormat; GregorianCalendar gregorianCalendar; if (withTime) { simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); } else { simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); } try { date = simpleDateFormat.parse(s); } catch (ParseException e) { throw new RuntimeException(e); } gregorianCalendar = (GregorianCalendar) GregorianCalendar.getInstance(); gregorianCalendar.setTime(date); try { if (withTime) { result = DatatypeFactory.newInstance().newXMLGregorianCalendar(gregorianCalendar); } else { result = DatatypeFactory.newInstance().newXMLGregorianCalendarDate(gregorianCalendar.get(Calendar.YEAR), gregorianCalendar.get(Calendar.MONTH) + 1, gregorianCalendar.get(Calendar.DAY_OF_MONTH), DatatypeConstants.FIELD_UNDEFINED); } } catch (DatatypeConfigurationException e) { throw new RuntimeException(e); } return result; } }