import com.thoughtworks.xstream.converters.extended.*; import org.junit.*; import static org.junit.Assert.assertEquals; import org.apache.commons.logging.*; import java.text.*; import java.util.*; public class DateFormattingTest { private static final Log log = LogFactory.getLog(DateFormattingTest.class); @Test public void demonstrateTheFormatOfTheISO8601DateConverter() throws Exception { ISO8601DateConverter converter = new ISO8601DateConverter(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z"); Date dateInputAsUTC = format.parse("2009-02-17 12:30:22 UTC"); TimeZone.setDefault(TimeZone.getTimeZone("UTC")); log.info("Current default time zone is : " + TimeZone.getDefault().getID()); String formatted = converter.toString(dateInputAsUTC); log.info("formatted: " + formatted); assertEquals("2009-02-17T12:30:22.000Z", formatted); } public void listAvailableTimeZones() { String[] timeZoneIds = TimeZone.getAvailableIDs(); StringBuilder sb = new StringBuilder(); sb.append("\nAvailable TimeZones\n"); for (String timeZoneId : timeZoneIds) { sb.append(timeZoneId).append("\n"); } log.info(sb.toString()); } }