Revision 52078
Added by Alessia Bardi almost 6 years ago
OaiFeedMapper.java | ||
---|---|---|
2 | 2 |
|
3 | 3 |
import java.io.IOException; |
4 | 4 |
import java.net.UnknownHostException; |
5 |
import java.text.ParseException; |
|
5 |
import java.time.LocalDateTime; |
|
6 |
import java.time.ZoneId; |
|
7 |
import java.time.format.DateTimeFormatter; |
|
6 | 8 |
import java.util.Collection; |
7 | 9 |
import java.util.Date; |
8 | 10 |
import java.util.Map; |
... | ... | |
179 | 181 |
} |
180 | 182 |
} |
181 | 183 |
|
182 |
protected Date parseDate(final String date){ |
|
184 |
protected Date parseDate(final String date) { |
|
185 |
// date should be in the form: 2017-12-18 or 2017-12-18T12:00:04+00:00 or 2014-10-12T15:54:02.43Z or 2014-10-12T15:54:02.432Z or 2014-10-12T15:54:02.4Z |
|
183 | 186 |
try { |
184 |
// date will be in the form: 2017-12-18T12:00:04+00:00 or 2014-10-12T15:54:02.43Z |
|
185 |
return org.apache.commons.lang.time.DateUtils.parseDate( |
|
186 |
date, |
|
187 |
new String[]{ "yyyy-MM-dd'T'HH:mm:ssXXX", "yyyy-MM-dd'T'HH:mm:ssZ" }); |
|
188 |
} catch (ParseException e) { |
|
189 |
e.printStackTrace(System.err); |
|
190 |
throw new RuntimeException(e); |
|
187 |
LocalDateTime d = LocalDateTime.parse(date, DateTimeFormatter.ISO_ZONED_DATE_TIME); |
|
188 |
return Date.from(d.atZone(ZoneId.systemDefault()).toInstant()); |
|
189 |
}catch(Exception dateException){ |
|
190 |
try { |
|
191 |
return org.apache.commons.lang.time.DateUtils.parseDate( |
|
192 |
date, |
|
193 |
new String[] { "yyyy-MM-dd", "yyyy-MM-dd'T'HH:mm:ssXXX", "yyyy-MM-dd'T'HH:mm:ss.SSSX", "yyyy-MM-dd'T'HH:mm:ssZ", |
|
194 |
"yyyy-MM-dd'T'HH:mm:ss.SX" }); |
|
195 |
}catch(Exception dateException2){ |
|
196 |
dateException2.printStackTrace(System.err); |
|
197 |
throw new RuntimeException(dateException2); |
|
198 |
} |
|
191 | 199 |
} |
192 | 200 |
} |
193 | 201 |
|
Also available in: Unified diff
We also have some date as ISO DateTime with Zone...