package com.khmelenko.lab.varis.util; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; /** * Provides utils methods for processing data & time * * @author Dmytro Khmelenko */ public final class DateTimeUtils { private DateTimeUtils() { } /** * Formats date time structure to the local string * * @param dateTime Datetime * @return Formatted date time in local */ public static String formatDateTimeLocal(Date dateTime) { DateFormat formatter = SimpleDateFormat.getDateTimeInstance(); String formatted = formatter.format(dateTime); return formatted; } /** * Parses XML datetime object to Date object * * @param xmlDateTime XML Datetime as a String * @return Datetime object * @throws ParseException if Parsing exception occurred */ public static Date parseXmlDateTime(String xmlDateTime) { Date parsedDate = new Date(); try { xmlDateTime = xmlDateTime.replace("Z", "+0000"); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.getDefault()); parsedDate = dateFormat.parse(xmlDateTime); return parsedDate; } catch (ParseException e) { e.printStackTrace(); } return parsedDate; } /** * Parses and formats xml date time string * * @param xmlDateTime XML date time * @return Formatted date time */ public static String parseAndFormatDateTime(String xmlDateTime) { Date date = DateTimeUtils.parseXmlDateTime(xmlDateTime); String formattedDate = DateTimeUtils.formatDateTimeLocal(date); return formattedDate; } }