From caaf97ed8804ae3bf6fb17cd98a5814cab834688 Mon Sep 17 00:00:00 2001 From: Chas Honton Date: Tue, 5 Jul 2016 13:42:48 -0700 Subject: [PATCH] LANG-1247: FastDatePrinter generates Date objects wastefully closes #168 --- src/changes/changes.xml | 1 + .../org/apache/commons/lang3/time/FastDatePrinter.java | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 8b4e0610a..888757230 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -46,6 +46,7 @@ The type attribute can be add,update,fix,remove. + FastDatePrinter generates extra Date objects Fix precision loss on NumberUtils.createNumber(String) HashCodeBuilder.append(Object,Object) is too big to be inlined, which prevents whole builder to be scalarized Add a circuit breaker implementation diff --git a/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java b/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java index 4ff2bbce0..ece0787a5 100644 --- a/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java +++ b/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java @@ -486,7 +486,9 @@ public String format(final Calendar calendar) { */ @Override public StringBuffer format(final long millis, final StringBuffer buf) { - return format(new Date(millis), buf); + final Calendar c = newCalendar(); + c.setTimeInMillis(millis); + return applyRules(c, buf); } /* (non-Javadoc) @@ -513,7 +515,9 @@ public StringBuffer format(final Calendar calendar, final StringBuffer buf) { */ @Override public B format(final long millis, final B buf) { - return format(new Date(millis), buf); + final Calendar c = newCalendar(); + c.setTimeInMillis(millis); + return applyRules(c, buf); } /* (non-Javadoc)