-
Bug
-
Resolution: Fixed
-
P3
-
1.1.4
-
b01
-
sparc
-
solaris_2.5
Name: dfC67450 Date: 12/29/97
java.text.SimpleDateFormat.format(Date n, StringBuffer str, FieldPosition fp) does not
set indexes of FieldPosition object.
Javadoc says about pattern chars:
* To specify the time format use a time pattern string.
* In this pattern, all ASCII letters are reserved as pattern letters,
* which are defined as the following:
*
* Symbol Meaning Presentation Example
* ------ ------- ------------ -------
* G era designator (Text) AD
* y year (Number) 1996
* M month in year (Text & Number) July & 07
* d day in month (Number) 10
* h hour in am/pm (1~12) (Number) 12
* H hour in day (0~23) (Number) 0
* m minute in hour (Number) 30
* s second in minute (Number) 55
* S millisecond (Number) 978
* E day in week (Text) Tuesday
* D day in year (Number) 189
* F day of week in month (Number) 2 (2nd Wed in July)
* w week in year (Number) 27
* W week in month (Number) 2
* a am/pm marker (Text) PM
* k hour in day (1~24) (Number) 24
* K hour in am/pm (0~11) (Number) 0
* z time zone (Text) Pacific Standard Time
* ' escape for text
* '' single quote
It means the character 'z' corresponds the TIMEZONE_FIELD.
Here is the test demonstrating the bug:
-----------------Test.java------------------------
import java.text.*;
import java.util.*;
public class TestDE {
public static void main (String args[]){
SimpleDateFormat sdf = new SimpleDateFormat("z", Locale.US);
FieldPosition fp = new FieldPosition(DateFormat.TIMEZONE_FIELD);
System.out.println(sdf.format(new Date(9234567890), new StringBuffer(""), fp));
System.out.println("beginIndex = " + fp.getBeginIndex());
System.out.println("endIndex = " + fp.getEndIndex());
}
}
---------Output from the test---------------------
PST
beginIndex = 0
endIndex = 0
--------------------------------------------------
======================================================================