Skip to content

Commit dd81197

Browse files
brendon puntinjyemin
authored andcommitted
fix hour date formatter from hh to HH for hour in day 0-23
JAVA-1792
1 parent 0db2941 commit dd81197

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

bson/src/main/org/bson/json/JsonReader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -733,7 +733,7 @@ private long visitISODateTimeConstructor() {
733733
throw new JsonParseException("JSON reader expected a string but found '%s'.", valueToken.getValue());
734734
}
735735
verifyToken(")");
736-
String[] patterns = {"yyyy-MM-dd", "yyyy-MM-dd'T'hh:mm:ssz", "yyyy-MM-dd'T'hh:mm:ss.SSSz"};
736+
String[] patterns = {"yyyy-MM-dd", "yyyy-MM-dd'T'HH:mm:ssz", "yyyy-MM-dd'T'HH:mm:ss.SSSz"};
737737

738738
SimpleDateFormat format = new SimpleDateFormat(patterns[0], Locale.ENGLISH);
739739
ParsePosition pos = new ParsePosition(0);

bson/src/test/unit/org/bson/json/JsonReaderTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,15 @@ public void testDateTimeShell() {
118118
assertEquals(AbstractBsonReader.State.DONE, bsonReader.getState());
119119
}
120120

121+
@Test
122+
public void testDateTimeShellWith24HourTimeSpecification() {
123+
String json = "ISODate(\"2013-10-04T12:07:30.443Z\")";
124+
bsonReader = new JsonReader(json);
125+
assertEquals(BsonType.DATE_TIME, bsonReader.readBsonType());
126+
assertEquals(1380888450443L, bsonReader.readDateTime());
127+
assertEquals(AbstractBsonReader.State.DONE, bsonReader.getState());
128+
}
129+
121130
@Test
122131
public void testDateTimeStrict() {
123132
String json = "{ \"$date\" : 0 }";

0 commit comments

Comments
 (0)