How to Customize JAXB Bindings for Dates


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="">
  <xs:complexType name="Root">
      <xs:element name="Element" type="xs:date" />


<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings version="2.1" xmlns:jaxb="" xmlns:xs="" schemaLocation="schema.xsd">
    <jaxb:javaType name="java.util.Date" parseMethod="DateConverter.parseDate" printMethod="DateConverter.printDate" xmlType="xs:date" /> <!-- the default is javax.xml.datatype.XMLGregorianCalendar -->

import java.util.Calendar;
import java.util.Date;

import javax.xml.bind.DatatypeConverter;

public final class DateConverter {

  public static Date parseDate(final String source) {
    return DatatypeConverter.parseDate(source).getTime();

  public static String printDate(final Date date) {
    final Calendar cal = Calendar.getInstance();


    return DatatypeConverter.printDate(cal);

  private DateConverter() {




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.