tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: [OT] Parsing xs:dateTime values
Date Thu, 15 May 2008 16:27:32 GMT
One cautionary observation about the use of shared SimpleDateFormat 
instances:  they are not threadsafe. 
While it seems like a good idea to create these for various formats and 
hold them as class static or instance members, you need to do something to 
prevent threading issues.
I have run into problems using SimpleDateFormat in this way in a 
multiprocessor environment, which lead to using the following simple 
subclass instead:

public class SynchronizedSimpleDateFormat extends SimpleDateFormat {

  public SynchronizedSimpleDateFormat() {

  public SynchronizedSimpleDateFormat(String arg0) {

  public SynchronizedSimpleDateFormat(String arg0, DateFormatSymbols arg1) 
    super(arg0, arg1);

  public SynchronizedSimpleDateFormat(String arg0, Locale arg1) {
    super(arg0, arg1);

  // Note that we only need to synchronize this format method, as the 
others all use this one internally
  public synchronized StringBuffer format(Date arg0, StringBuffer arg1, 
FieldPosition arg2) {
    return super.format(arg0, arg1, arg2);

  public synchronized Date parse(String arg0, ParsePosition arg1) {
    return super.parse(arg0, arg1);

  public synchronized Date parse(String arg0) throws ParseException {
    return super.parse(arg0);


Please respond to "Tomcat Users List" <>

To:     Tomcat Users List <>
Subject:        Re: [OT] Parsing xs:dateTime values


You don't need regexp. Do you mean something like:

private static final String ISO8601_DATEFORMAT =

private static final java.text.SimpleDateFormat ISO8601 = new
ISO8601_DATEFORMAT, java.util.Locale.US);

public static final Date getDateFromIso8601(final String iso8601)
throws ParseException {
return ISO8601.parse(iso8601);


On Thu, 2008-05-15 at 12:00 -0400, Christopher Schultz wrote:
> Hash: SHA1
> All,
> I posted this on the commons-user mailing list, but I'm not getting any
> love. I'm cross-posting to see if anyone on this list might have any
> good ideas.
> | Hi, I'm looking for an implementation of a String->Date converter for
> | xs:dateTime, which has an odd format. It's not directly supportable by
> | java.text.SimpleDateFormat and looks like a regular expression is the
> | only way to go.
> |
> | Does anyone have an implementation they'd care to share, or any tips 
> | particular? I'd be glad to share whatever I come up with if there 
> | anything already out there.
> My existing implementation uses regular expressions, which seems a bit
> overkill.
> Thanks,
> - -chris
> Version: GnuPG v1.4.9 (MingW32)
> Comment: Using GnuPG with Mozilla -
> iEYEARECAAYFAkgsXdIACgkQ9CaO5/Lv0PAZawCffPNDLZ3bXczy89Cm1ptDzu1E
> =dDWw
> ---------------------------------------------------------------------
> To start a new topic, e-mail:
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To start a new topic, e-mail:
To unsubscribe, e-mail:
For additional commands, e-mail:

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message