Tuesday, February 17, 2015

Talend Java code for Timezone conversion (UTC To GMT)

We can use below Java code in tJavaRow component-

In component Advance Setting we must use following code-

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;


In main code-


long ts = System.currentTimeMillis();
Date localTime = new Date(ts);
String offset = input_row.date_entered.substring(19);
// converting simple date to UTC timezone
DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"+offset));

Date gmtTime=null;
// "date_entered":"2014-09-26T11:48:51+05:30"
String yourString=input_row.date_entered;
StringBuilder b3 = new StringBuilder(yourString);
b3.replace(yourString.lastIndexOf(":"), yourString.lastIndexOf(":") + 1, "" );

yourString = b3.toString();
gmtTime = new Date(sdf.format(TalendDate.parseDate("yyyy-MM-dd'T'HH:mm:ssZ",yourString)));
output_row.date_entered = TalendDate.formatDate("yyyy-MM-dd HH:mm:ss",gmtTime);


2 comments:

  1. Hello,
    this solution does not work with a date in this format:2016-03-08T23:04:24.78Z

    ReplyDelete
    Replies
    1. thanks for writing.
      This code should work as I already used, can you share what problem/error you face by applying above solution.

      Delete