The java Date object has non timezone. It is always UTC based. The timezone is actually only relevant if you want to render a date. If you have a Date and you need to move it into GMT you have to know the necessary bias. Use the function TalendDate.addDate:
I am not sure if the toGMTString method always returns the same format and it actually does not solve the problem because the parser depends also from the local timezone of the job server. I would not recommend that! By far better is if you know which is the original timezone of the given date and move it with the correct bias.
Hi Attached screenshot#1 has my job. There are 2 if conditions. Action on data is set to Insert only on final output (S_BU) object with If Condition 1. Action on data is set to Insert or Update on final output (S_BU) object with If Condition 2. If Condition 1 is true then date is getting stored correctly in GMT. But if 2nd condition is true then the 2 fields are getting stored in my local date time. Why is such an odd behavior? Thanks Kalyan