Hi all, DateUtils.formatElapsedTime returns different results depending on the current locale if the time is bigger than 1000 minutes.
Under the covers we use a MessageFormat private static final MessageFormat MINUTE_SECONDS = new MessageFormat("{0}{1}"); where {0} is set to be private static final ChoiceFormat MINUTES_FORMAT = new ChoiceFormat(LIMITS, MINUTES_PART); and MINUTES_PART is private static final String[] MINUTES_PART = {"", "1 minute ", "{0,number} minutes "}; ChoiceFormat doesn't provide any way to set the Locale and setting it on the "outer" MessageFormat doesn't have any effect. ChoiceFormat does provide a getFormats method that return Object[] and I hoped it would return the DecimalFormat instance used in the last case, but it just returns the same String[] passed in (wonder why it returns an Object[]). Setting setGroupingUsed on the choice format doesn't have any effect either and I don't see a way to specify either the locale or the grouping inside the pattern - well, unless I use a pattern like ############### (Long.MAX_VALUE / 60 / 1000 should fit into this). My preference would be to use Locale.US since the text for "minute" is English anyway. Does anybody see a cleaner way than either use the pattern above or implementing the logic of ChoiceFormat ourselves? Stefan --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]