commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nia...@apache.org
Subject svn commit: r615243 - in /commons/proper/lang/trunk: RELEASE-NOTES.txt src/java/org/apache/commons/lang/time/DateFormatUtils.java src/test/org/apache/commons/lang/time/DateFormatUtilsTest.java
Date Fri, 25 Jan 2008 15:20:33 GMT
Author: niallp
Date: Fri Jan 25 07:20:32 2008
New Revision: 615243

URL: http://svn.apache.org/viewvc?rev=615243&view=rev
Log:
LANG-404 Add Calendar flavour format methods to DateFormatUtils

Modified:
    commons/proper/lang/trunk/RELEASE-NOTES.txt
    commons/proper/lang/trunk/src/java/org/apache/commons/lang/time/DateFormatUtils.java
    commons/proper/lang/trunk/src/test/org/apache/commons/lang/time/DateFormatUtilsTest.java

Modified: commons/proper/lang/trunk/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/RELEASE-NOTES.txt?rev=615243&r1=615242&r2=615243&view=diff
==============================================================================
--- commons/proper/lang/trunk/RELEASE-NOTES.txt (original)
+++ commons/proper/lang/trunk/RELEASE-NOTES.txt Fri Jan 25 07:20:32 2008
@@ -97,3 +97,4 @@
     * [LANG-362] - Add ExtendedMessageFormat to org.apache.commons.lang.text
     * [LANG-366] - add MultiFormat
     * [LANG-371] - ToStringStyle javadoc should show examples of styles
+    * [LANG-404] - Add Calendar flavour format methods to DateFormatUtils
\ No newline at end of file

Modified: commons/proper/lang/trunk/src/java/org/apache/commons/lang/time/DateFormatUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/java/org/apache/commons/lang/time/DateFormatUtils.java?rev=615243&r1=615242&r2=615243&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/java/org/apache/commons/lang/time/DateFormatUtils.java (original)
+++ commons/proper/lang/trunk/src/java/org/apache/commons/lang/time/DateFormatUtils.java Fri
Jan 25 07:20:32 2008
@@ -16,6 +16,7 @@
  */
 package org.apache.commons.lang.time;
 
+import java.util.Calendar;
 import java.util.Date;
 import java.util.Locale;
 import java.util.TimeZone;
@@ -183,6 +184,19 @@
     public static String format(Date date, String pattern) {
         return format(date, pattern, null, null);
     }
+
+    /**
+     * <p>Formats a calendar into a specific pattern.</p>
+     * 
+     * @param calendar  the calendar to format
+     * @param pattern  the pattern to use to format the calendar
+     * @return the formatted calendar
+     * @see FastDateFormat#format(Calendar)
+     * @since 2.4
+     */
+    public static String format(Calendar calendar, String pattern) {
+        return format(calendar, pattern, null, null);
+    }
     
     /**
      * <p>Formats a date/time into a specific pattern in a time zone.</p>
@@ -209,6 +223,20 @@
     }
 
     /**
+     * <p>Formats a calendar into a specific pattern in a time zone.</p>
+     * 
+     * @param calendar  the calendar to format
+     * @param pattern  the pattern to use to format the calendar
+     * @param timeZone  the time zone  to use, may be <code>null</code>
+     * @return the formatted calendar
+     * @see FastDateFormat#format(Calendar)
+     * @since 2.4
+     */
+    public static String format(Calendar calendar, String pattern, TimeZone timeZone) {
+        return format(calendar, pattern, timeZone, null);
+    }
+
+    /**
      * <p>Formats a date/time into a specific pattern in a locale.</p>
      * 
      * @param millis  the date to format expressed in milliseconds
@@ -233,6 +261,20 @@
     }
 
     /**
+     * <p>Formats a calendar into a specific pattern in a locale.</p>
+     * 
+     * @param calendar  the calendar to format
+     * @param pattern  the pattern to use to format the calendar
+     * @param locale  the locale to use, may be <code>null</code>
+     * @return the formatted calendar
+     * @see FastDateFormat#format(Calendar)
+     * @since 2.4
+     */
+    public static String format(Calendar calendar, String pattern, Locale locale) {
+        return format(calendar, pattern, null, locale);
+    }
+
+    /**
      * <p>Formats a date/time into a specific pattern in a time zone  and locale.</p>
      * 
      * @param millis  the date to format expressed in milliseconds
@@ -257,6 +299,22 @@
     public static String format(Date date, String pattern, TimeZone timeZone, Locale locale)
{
         FastDateFormat df = FastDateFormat.getInstance(pattern, timeZone, locale);
         return df.format(date);
+    }
+
+    /**
+     * <p>Formats a calendar into a specific pattern in a time zone  and locale.</p>
+     * 
+     * @param calendar  the calendar to format
+     * @param pattern  the pattern to use to format the calendar
+     * @param timeZone  the time zone  to use, may be <code>null</code>
+     * @param locale  the locale to use, may be <code>null</code>
+     * @return the formatted calendar
+     * @see FastDateFormat#format(Calendar)
+     * @since 2.4
+     */
+    public static String format(Calendar calendar, String pattern, TimeZone timeZone, Locale
locale) {
+        FastDateFormat df = FastDateFormat.getInstance(pattern, timeZone, locale);
+        return df.format(calendar);
     }
 
 }

Modified: commons/proper/lang/trunk/src/test/org/apache/commons/lang/time/DateFormatUtilsTest.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/org/apache/commons/lang/time/DateFormatUtilsTest.java?rev=615243&r1=615242&r2=615243&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/test/org/apache/commons/lang/time/DateFormatUtilsTest.java
(original)
+++ commons/proper/lang/trunk/src/test/org/apache/commons/lang/time/DateFormatUtilsTest.java
Fri Jan 25 07:20:32 2008
@@ -85,6 +85,29 @@
         assertEquals(buffer.toString(), DateFormatUtils.format(c.getTime().getTime(), "yyyyMdH",
Locale.US));
     }
     
+    //-----------------------------------------------------------------------
+    public void testFormatCalendar() {
+        Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
+        c.set(2005,0,1,12,0,0);
+        c.setTimeZone(TimeZone.getDefault());
+        StringBuffer buffer = new StringBuffer ();
+        int year = c.get(Calendar.YEAR);
+        int month = c.get(Calendar.MONTH) + 1;
+        int day = c.get(Calendar.DAY_OF_MONTH);
+        int hour = c.get(Calendar.HOUR_OF_DAY);
+        buffer.append (year);
+        buffer.append(month);
+        buffer.append(day);
+        buffer.append(hour);
+        assertEquals(buffer.toString(), DateFormatUtils.format(c, "yyyyMdH"));
+        
+        assertEquals(buffer.toString(), DateFormatUtils.format(c.getTime(), "yyyyMdH"));
+        
+        assertEquals(buffer.toString(), DateFormatUtils.format(c, "yyyyMdH", Locale.US));
+        
+        assertEquals(buffer.toString(), DateFormatUtils.format(c.getTime(), "yyyyMdH", Locale.US));
+    }
+    
     public void testFormatUTC() {
         Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
         c.set(2005,0,1,12,0,0);



Mime
View raw message