/* ****************************************************************************** * Copyright (C) 2007, International Business Machines Corporation and * * others. All Rights Reserved. * ****************************************************************************** */ package com.ibm.icu.impl.duration; import java.util.Date; import java.util.TimeZone; /** * Abstract formatter for dates. Differs from DateFormat in that it * provides withLocale and withTimeZone methods. */ public interface DateFormatter { /** * Format the date, provided as a java Date object. * * @param date the date * @return the formatted time */ String format(Date date); /** * Format the date, provided as milliseconds. * * @param date the date in milliseconds * @return the formatted time */ String format(long date); /** * Returns a new DateFormatter that uses data for a new locale. * * @param locale the new locale to use * @return a new formatter for the given locale */ DateFormatter withLocale(String localeName); /** * Returns a new DateFormatter that uses the new time zone. * * @param tz the new time zone * @return a new formatter for the given time zone */ DateFormatter withTimeZone(TimeZone tz); }