Project

General

Profile

« Previous | Next » 

Revision 52078

We also have some date as ISO DateTime with Zone...

View differences:

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