Partially revert "Performance improvements"
Some problems with wrong dates might be caused by the
static date parser no longer being thread safe.
This partially reverts commit 77ef239336
.
This commit is contained in:
parent
4e12615a2d
commit
9bd0babed5
|
@ -22,14 +22,7 @@ public class DateUtils {
|
||||||
private DateUtils(){}
|
private DateUtils(){}
|
||||||
|
|
||||||
private static final String TAG = "DateUtils";
|
private static final String TAG = "DateUtils";
|
||||||
|
|
||||||
private static final TimeZone defaultTimezone = TimeZone.getTimeZone("GMT");
|
private static final TimeZone defaultTimezone = TimeZone.getTimeZone("GMT");
|
||||||
private static final SimpleDateFormat dateFormatParser = new SimpleDateFormat("", Locale.US);
|
|
||||||
|
|
||||||
static {
|
|
||||||
dateFormatParser.setLenient(false);
|
|
||||||
dateFormatParser.setTimeZone(defaultTimezone);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Date parse(final String input) {
|
public static Date parse(final String input) {
|
||||||
if (input == null) {
|
if (input == null) {
|
||||||
|
@ -99,12 +92,16 @@ public class DateUtils {
|
||||||
"EEE d MMM yyyy HH:mm:ss 'GMT'Z (z)"
|
"EEE d MMM yyyy HH:mm:ss 'GMT'Z (z)"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
SimpleDateFormat parser = new SimpleDateFormat("", Locale.US);
|
||||||
|
parser.setLenient(false);
|
||||||
|
parser.setTimeZone(defaultTimezone);
|
||||||
|
|
||||||
ParsePosition pos = new ParsePosition(0);
|
ParsePosition pos = new ParsePosition(0);
|
||||||
for (String pattern : patterns) {
|
for (String pattern : patterns) {
|
||||||
dateFormatParser.applyPattern(pattern);
|
parser.applyPattern(pattern);
|
||||||
pos.setIndex(0);
|
pos.setIndex(0);
|
||||||
try {
|
try {
|
||||||
Date result = dateFormatParser.parse(date, pos);
|
Date result = parser.parse(date, pos);
|
||||||
if (result != null && pos.getIndex() == date.length()) {
|
if (result != null && pos.getIndex() == date.length()) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue