Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
DrGenious
Creator
Creator

Timezones Java

Hey,

 

I have a column with strings like "2019-03-17 08:42:09 +0400" . Do anybody know how to make this to date and add  +0400 to my datetime with java ? 

 

Please help me. Thanks a lot 0683p000009MACJ.png 

Labels (2)
1 Solution

Accepted Solutions
akumar2301
Specialist II
Specialist II

If you want to print 

 

in tJavaRow : 

System.out.println(TalendDate.formatDateInUTC("yyyy-MM-dd HH:mm:ss Z",TalendDate.parseDate("yyyy-MM-dd HH:mm:ss Z",input_row.newColumn )));

 

you can assign to variable

String dateUTC = TalendDate.formatDateInUTC("yyyy-MM-dd HH:mm:ss Z",TalendDate.parseDate("yyyy-MM-dd HH:mm:ss Z",input_row.newColumn ));

View solution in original post

4 Replies
akumar2301
Specialist II
Specialist II

Hello Did you try . It will give you time in UTC ( String)

TalendDate.formatDateInUTC("yyyy-MM-dd HH:mm:ss Z",TalendDate.parseDate("yyyy-MM-dd HH:mm:ss Z",row1.newColumn ))
DrGenious
Creator
Creator
Author

@uganesh 

Thanks for your quick response but how i add this method to a variable in order to print the result in java. If it was in tmap it would be easy but I am a bit confused with java components.

akumar2301
Specialist II
Specialist II

If you want to print 

 

in tJavaRow : 

System.out.println(TalendDate.formatDateInUTC("yyyy-MM-dd HH:mm:ss Z",TalendDate.parseDate("yyyy-MM-dd HH:mm:ss Z",input_row.newColumn )));

 

you can assign to variable

String dateUTC = TalendDate.formatDateInUTC("yyyy-MM-dd HH:mm:ss Z",TalendDate.parseDate("yyyy-MM-dd HH:mm:ss Z",input_row.newColumn ));

Anonymous
Not applicable

@DrGenious 

Use the below custom code in a tJavaRow component.

 

TimeZone.setDefault(TimeZone.getTimeZone("UTC"));

String [] date = input_row.input_date.split(" ");
int hour = Integer.parseInt(date[2])/100;
int mins = (Integer.parseInt(date[2])%100);
Date date_new = TalendDate.TO_DATE(date[0]+" "+date[1], "yyyy-MM-dd HH:mm:ss");
date_new = TalendDate.addDate(date_new, hour, "HH");
date_new = TalendDate.addDate(date_new, mins, "mm");

output_row.output_date = date_new;