If you are migrating other database data to db2 and encounter a timestamp like 2007-03-07 19:30:00+05, you will need to adjust the timestamp correctly if you are in a different time zone.

I used this Java function to massage the timestamp properly so that I get the correct timestamp.

        private String convertTSTZ(String ts)
        {        
            SimpleDateFormat sdf;
            String newts = "", tz = "", micro = "";
            int pos, pos2;
            Timestamp tst = null;
            
            try
            {
                newts = ts;
                pos = ts.length()-3;
                if (ts.charAt(pos) == '-' || ts.charAt(pos) == '+')
                {
                    newts = ts.substring(0,pos);
                    tz = ts.substring(pos);
                    if (tz.length() == 3) tz += "00";
                } else
                    pos = ts.length();
                pos2 =newts.lastIndexOf('.'); 
                if (pos2 > 0)
                {
                    micro = newts.substring(pos2);
                    newts = newts.substring(0,pos2);
                }
                newts = newts + tz;
                
                if (tz.equals(""))
                {
                    sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
                } else
                {
                    sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssZ", Locale.US);
                }
                Date date = sdf.parse(newts);
                tst = new Timestamp(date.getTime());
                newts = tst.toString();
                pos2 =newts.lastIndexOf('.'); 
                if (pos2 > 0)
                {
                    newts = newts.substring(0,pos2);
                }
                newts = newts + micro;
                //System.out.println("old value " + ts + " new value " + newts);  
            } catch (ParseException e)
            {
                newts = "";
                e.printStackTrace();
            }
            return newts;
        }