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;
}