How to convert EST to IST with tjava component?

Highlighted
Six Stars

How to convert EST to IST with tjava component?

How to convert EST to IST with tjava component?

Input data:

03/10/2019

Output should be in below format:

"EEE, MMM dd HH:mm:ss 'EST' yyyy"

 

But receiving the output in IST format only. Appreciate your kind help.

Thanks.

 


Accepted Solutions
Six Stars

Re: How to convert EST to IST with tjava component?

Issue resolved with below codes:

 

String inptdate = input_row.Date;
SimpleDateFormat sdfgmt = new SimpleDateFormat("MM/dd/yyyy");
sdfgmt.setTimeZone(TimeZone.getTimeZone("IST"));
SimpleDateFormat sdfmad = new SimpleDateFormat("MM/dd/yyyy 'at' hh:mma z");
sdfmad.setTimeZone(TimeZone.getTimeZone("EST"));
Date date = sdfgmt.parse(inptdate);

output_row.Date = sdfmad.format(date);

String inptdate1 = input_row.Date;
SimpleDateFormat sdfgmt1 = new SimpleDateFormat("MM/dd/yyyy");
sdfgmt1.setTimeZone(TimeZone.getTimeZone("IST"));
SimpleDateFormat sdfmad1 = new SimpleDateFormat("dd MMMM yyyy zzzz");
sdfmad1.setTimeZone(TimeZone.getTimeZone("IST"));
Date date1 = sdfgmt1.parse(inptdate1);
output_row.Date1 = sdfmad1.format(date1);


String inptdate2 = input_row.Date;
SimpleDateFormat sdfgmt2 = new SimpleDateFormat("MM/dd/yyyy");
sdfgmt2.setTimeZone(TimeZone.getTimeZone("IST"));
SimpleDateFormat sdfmad2 = new SimpleDateFormat("EEE, MMM dd HH:mm:ss zzz yyyy");
sdfmad2.setTimeZone(TimeZone.getTimeZone("IST"));
Date date2 = sdfgmt2.parse(inptdate2);
output_row.Date2 = sdfmad2.format(date2);

 


All Replies
Forteen Stars

Re: How to convert EST to IST with tjava component?

Hi,

 

this is your question - https://stackoverflow.com/questions/54684583/how-to-fix-date-format-issue-in-talend/54687280?noredir...

?

 

as mentioned there, the same question here

 

do you want real conversion?

 

in this case all you dates will be converted to date + EST time

or you just want to use print the same date with 00:00:00 for time and just add EST?

 

if just print, you could set JVM timezone to EST

TalendDate.formatDate("EEE, MMM dd HH:mm:ss 'EST' yyyy",row1.strDate) 

because your input does not contain the time, your output in proper EST will always have format like

Sun, Mar 10 13:30:00 EST 2019

but if you do not need time, do as above

-----------
Six Stars

Re: How to convert EST to IST with tjava component?

Thank you for your reply! 

via using the above statement..I get the output in the IST format with the hard coded value 'EST'.  No worries I write a java code in tjavarow to convert the IST to EST format.

 

But now the issue is that - the output is not getting in the Column3. For the Column3 I have written a java code. Please find below:

SimpleDateFormat FORMATTER = new SimpleDateFormat("MM/dd/yyyy 'at' hh:mma z");
TimeZone istTimeZone = TimeZone.getTimeZone("Asia/Kolkata"); //Source timezone
TimeZone etTimeZone = TimeZone.getTimeZone("America/New_York"); //Target timezone
Calendar Date = Calendar.getInstance(etTimeZone);
FORMATTER.setTimeZone(etTimeZone);
System.out.println(FORMATTER.format(Date.getTime()));

 

Output should be like this: Please find attached screenshot.

 

Can you please help me to get the correct output in Column3. Thank you.

 

Six Stars

Re: How to convert EST to IST with tjava component?

Issue resolved with below codes:

 

String inptdate = input_row.Date;
SimpleDateFormat sdfgmt = new SimpleDateFormat("MM/dd/yyyy");
sdfgmt.setTimeZone(TimeZone.getTimeZone("IST"));
SimpleDateFormat sdfmad = new SimpleDateFormat("MM/dd/yyyy 'at' hh:mma z");
sdfmad.setTimeZone(TimeZone.getTimeZone("EST"));
Date date = sdfgmt.parse(inptdate);

output_row.Date = sdfmad.format(date);

String inptdate1 = input_row.Date;
SimpleDateFormat sdfgmt1 = new SimpleDateFormat("MM/dd/yyyy");
sdfgmt1.setTimeZone(TimeZone.getTimeZone("IST"));
SimpleDateFormat sdfmad1 = new SimpleDateFormat("dd MMMM yyyy zzzz");
sdfmad1.setTimeZone(TimeZone.getTimeZone("IST"));
Date date1 = sdfgmt1.parse(inptdate1);
output_row.Date1 = sdfmad1.format(date1);


String inptdate2 = input_row.Date;
SimpleDateFormat sdfgmt2 = new SimpleDateFormat("MM/dd/yyyy");
sdfgmt2.setTimeZone(TimeZone.getTimeZone("IST"));
SimpleDateFormat sdfmad2 = new SimpleDateFormat("EEE, MMM dd HH:mm:ss zzz yyyy");
sdfmad2.setTimeZone(TimeZone.getTimeZone("IST"));
Date date2 = sdfgmt2.parse(inptdate2);
output_row.Date2 = sdfmad2.format(date2);

 

Forteen Stars

Re: How to convert EST to IST with tjava component?


@pgajghate wrote:

Issue resolved with below codes:

 


Congratulations!

 

but this is not what was asking for :-) 

Screen Shot 2019-02-23 at 11.05.56 PM.png

 

this is why I asked you about time difference, which you have in your final output

 

Output.png

 

any time when expecting a proper answer - you must ask a proper question! :-)

 

in any case - welcome!

P.S.

why did I think it is the same question?

because it uses the same answer :-)

-----------

What’s New for Talend Spring ’19

Watch the recorded webinar!

Watch Now

Agile Data lakes & Analytics

Accelerate your data lake projects with an agile approach

Watch

Definitive Guide to Data Quality

Create systems and workflow to manage clean data ingestion and data transformation.

Download

Tutorial

Introduction to Talend Open Studio for Data Integration.

Watch