Bug 470780: Date AM/PM parsing should use explicit locale
diff --git a/org.eclipse.sisu.plexus.tests/src/org/eclipse/sisu/plexus/DateConstantTest.java b/org.eclipse.sisu.plexus.tests/src/org/eclipse/sisu/plexus/DateConstantTest.java
index 47f019b..cd50cfb 100644
--- a/org.eclipse.sisu.plexus.tests/src/org/eclipse/sisu/plexus/DateConstantTest.java
+++ b/org.eclipse.sisu.plexus.tests/src/org/eclipse/sisu/plexus/DateConstantTest.java
@@ -12,6 +12,7 @@
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.Locale;
import javax.inject.Inject;
import javax.inject.Named;
@@ -72,12 +73,12 @@
public void testDateFormat1()
{
- assertEquals( dateText1, new SimpleDateFormat( "yyyy-MM-dd h:mm:ss.S a" ).format( date1 ) );
+ assertEquals( dateText1, new SimpleDateFormat( "yyyy-MM-dd h:mm:ss.S a", Locale.US ).format( date1 ) );
}
public void testDateFormat2()
{
- assertEquals( dateText2, new SimpleDateFormat( "yyyy-MM-dd h:mm:ssa" ).format( date2 ) );
+ assertEquals( dateText2, new SimpleDateFormat( "yyyy-MM-dd h:mm:ssa", Locale.US ).format( date2 ) );
}
public void testBadDateFormat()
diff --git a/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PlexusDateTypeConverter.java b/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PlexusDateTypeConverter.java
index afb2e44..a6bcfff 100644
--- a/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PlexusDateTypeConverter.java
+++ b/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PlexusDateTypeConverter.java
@@ -14,6 +14,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.Locale;
import com.google.inject.Binder;
import com.google.inject.Module;
@@ -32,9 +33,11 @@
// Constants
// ----------------------------------------------------------------------
- private static final DateFormat[] PLEXUS_DATE_FORMATS = { new SimpleDateFormat( "yyyy-MM-dd hh:mm:ss.S a" ),
- new SimpleDateFormat( "yyyy-MM-dd hh:mm:ssa" ), new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss.S" ),
- new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ) };
+ private static final DateFormat[] PLEXUS_DATE_FORMATS = {
+ new SimpleDateFormat( "yyyy-MM-dd hh:mm:ss.S a", Locale.US ),
+ new SimpleDateFormat( "yyyy-MM-dd hh:mm:ssa", Locale.US ),
+ new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss.S", Locale.US ),
+ new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss", Locale.US ) };
private static final String CONVERSION_ERROR = "Cannot convert: \"%s\" to: %s";