Skip to content

Instantly share code, notes, and snippets.

@ifsantos
Created March 27, 2013 17:58
Show Gist options
  • Save ifsantos/5256578 to your computer and use it in GitHub Desktop.
Save ifsantos/5256578 to your computer and use it in GitHub Desktop.
/**
*
*/
package br.com.util.conversor;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
public class ConversorData {
/**
* Necessário para criar instâncias dos objetos de XMLGregorianCalendar
*/
private static DatatypeFactory df = null;
static {
try {
df = DatatypeFactory.newInstance();
} catch (DatatypeConfigurationException dce) {
throw new IllegalStateException(
"Exception while obtaining DatatypeFactory instance", dce);
}
}
/**
* Converte um java.util.Date para XMLGregorianCalendar
*
* @param date
* Instância de java.util.Date
* @return XMLGregorianCalendar criado a partir do date. Se o parâmetro for
* null o retorno também será null.
*/
public static XMLGregorianCalendar converterParaXMLGregorianCalendar(
Date date) {
if (date == null) {
return null;
} else {
GregorianCalendar gc = new GregorianCalendar();
gc.setTimeInMillis(date.getTime());
return df.newXMLGregorianCalendar(gc);
}
}
/**
* Conveter um XMLGregorianCalendar para java.util.Date
*
* @param xmlGregorianCalendar
* Instância de XMLGregorianCalendar.
* @return java.util.Date criada a partir do xmlGregorianCalendar. Se o
* parâmetro for null o retorno também será nulo.
*/
public static Date converterParaDate(
XMLGregorianCalendar xmlGregorianCalendar) {
if (xmlGregorianCalendar == null) {
return null;
} else {
return xmlGregorianCalendar.toGregorianCalendar().getTime();
}
}
/**
* Conveter um XMLGregorianCalendar para java.util.Date
*
* @param xmlGregorianCalendar
* Instância de XMLGregorianCalendar.
* @return java.util.Date criada a partir do xmlGregorianCalendar. Se o
* parâmetro for null o retorno também será nulo.
*/
public static java.sql.Date converterParaSqlDate(
XMLGregorianCalendar xmlGregorianCalendar) {
if (xmlGregorianCalendar == null) {
return null;
} else {
return new java.sql.Date(xmlGregorianCalendar.toGregorianCalendar()
.getTimeInMillis());
}
}
/**
* Conveter um XMLGregorianCalendar para uma String no formato ddmmaaaaa
*
* @param xmlGregorianCalendar
* Instância de XMLGregorianCalendar.
* @return java.util.Date criada a partir do xmlGregorianCalendar. Se o
* parâmetro for null o retorno também será nulo.
*/
public static String converterParaDateDdMmAaaa(
XMLGregorianCalendar xmlGregorianCalendar) {
if (xmlGregorianCalendar == null) {
return null;
} else {
StringBuilder sb = new StringBuilder();
sb.append(xmlGregorianCalendar.getDay());
sb.append(xmlGregorianCalendar.getMonth());
sb.append(xmlGregorianCalendar.getYear());
return sb.toString();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment