Index: trunk/test/unit/org/openstreetmap/josm/data/osm/ChangesetDataSetTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/osm/ChangesetDataSetTest.java	(revision 17837)
+++ trunk/test/unit/org/openstreetmap/josm/data/osm/ChangesetDataSetTest.java	(revision 17838)
@@ -7,5 +7,5 @@
 import static org.junit.jupiter.api.Assertions.fail;
 
-import java.util.Date;
+import java.time.Instant;
 import java.util.Iterator;
 
@@ -40,5 +40,5 @@
     void testIterator() {
         final ChangesetDataSet cds = new ChangesetDataSet();
-        HistoryNode prim1 = new HistoryNode(1, 1, true, User.getAnonymous(), 1, new Date(), LatLon.ZERO);
+        HistoryNode prim1 = new HistoryNode(1, 1, true, User.getAnonymous(), 1, Instant.now(), LatLon.ZERO);
         cds.put(prim1, ChangesetModificationType.CREATED);
         Iterator<ChangesetDataSetEntry> it = cds.iterator();
@@ -62,12 +62,12 @@
     void testGetEntry() {
         final ChangesetDataSet cds = new ChangesetDataSet();
-        HistoryNode prim1 = new HistoryNode(1, 1, true, User.getAnonymous(), 1, new Date(), LatLon.ZERO);
+        HistoryNode prim1 = new HistoryNode(1, 1, true, User.getAnonymous(), 1, Instant.now(), LatLon.ZERO);
         cds.put(prim1, ChangesetModificationType.CREATED);
-        HistoryNode prim2 = new HistoryNode(1, 2, true, User.getAnonymous(), 1, new Date(), LatLon.ZERO);
+        HistoryNode prim2 = new HistoryNode(1, 2, true, User.getAnonymous(), 1, Instant.now(), LatLon.ZERO);
         prim2.put("highway", "stop");
         cds.put(prim2, ChangesetModificationType.UPDATED);
         assertEquals(prim1, cds.getFirstEntry(prim1.getPrimitiveId()).getPrimitive());
         assertEquals(prim2, cds.getLastEntry(prim1.getPrimitiveId()).getPrimitive());
-        HistoryNode prim3 = new HistoryNode(1, 3, false, User.getAnonymous(), 1, new Date(), null);
+        HistoryNode prim3 = new HistoryNode(1, 3, false, User.getAnonymous(), 1, Instant.now(), null);
 
         cds.put(prim3, ChangesetModificationType.DELETED);
Index: trunk/test/unit/org/openstreetmap/josm/data/osm/history/HistoryNodeTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/osm/history/HistoryNodeTest.java	(revision 17837)
+++ trunk/test/unit/org/openstreetmap/josm/data/osm/history/HistoryNodeTest.java	(revision 17838)
@@ -5,5 +5,5 @@
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import java.util.Date;
+import java.time.Instant;
 import java.util.HashMap;
 import java.util.Map;
@@ -32,5 +32,5 @@
     public JOSMTestRules test = new JOSMTestRules();
 
-    private static HistoryNode create(Date d) {
+    private static HistoryNode create(Instant d) {
         return new HistoryNode(
                 1L,   // id
@@ -49,5 +49,5 @@
     @Test
     void testHistoryNode() {
-        Date d = new Date();
+        Instant d = Instant.now();
         HistoryNode node = create(d);
 
@@ -58,5 +58,5 @@
         assertEquals(3, node.getUser().getId());
         assertEquals(4, node.getChangesetId());
-        assertEquals(d, node.getTimestamp());
+        assertEquals(d, node.getInstant());
     }
 
@@ -66,5 +66,5 @@
     @Test
     void testGetType() {
-        assertEquals(OsmPrimitiveType.NODE, create(new Date()).getType());
+        assertEquals(OsmPrimitiveType.NODE, create(Instant.now()).getType());
     }
 
@@ -86,5 +86,5 @@
     @Test
     void testGetDisplayName() {
-        HistoryNode node = create(new Date());
+        HistoryNode node = create(Instant.now());
         HistoryNameFormatter hnf = DefaultNameFormatter.getInstance();
         assertEquals("1 (0.0, 0.0)", node.getDisplayName(hnf));
Index: trunk/test/unit/org/openstreetmap/josm/data/osm/history/HistoryRelationTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/osm/history/HistoryRelationTest.java	(revision 17837)
+++ trunk/test/unit/org/openstreetmap/josm/data/osm/history/HistoryRelationTest.java	(revision 17838)
@@ -5,5 +5,5 @@
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import java.util.Date;
+import java.time.Instant;
 import java.util.HashMap;
 import java.util.Map;
@@ -31,5 +31,5 @@
     public JOSMTestRules test = new JOSMTestRules();
 
-    private static HistoryRelation create(Date d) {
+    private static HistoryRelation create(Instant d) {
         return new HistoryRelation(
                 1,    // id
@@ -47,5 +47,5 @@
     @Test
     void testHistoryRelation() {
-        Date d = new Date();
+        Instant d = Instant.now();
         HistoryRelation rel = create(d);
 
@@ -56,5 +56,5 @@
         assertEquals(3, rel.getUser().getId());
         assertEquals(4, rel.getChangesetId());
-        assertEquals(d, rel.getTimestamp());
+        assertEquals(d, rel.getInstant());
     }
 
@@ -64,5 +64,5 @@
     @Test
     void testGetType() {
-        assertEquals(OsmPrimitiveType.RELATION, create(new Date()).getType());
+        assertEquals(OsmPrimitiveType.RELATION, create(Instant.now()).getType());
     }
 
@@ -73,7 +73,7 @@
     void testGetDisplayName() {
         HistoryNameFormatter hnf = DefaultNameFormatter.getInstance();
-        HistoryRelation rel0 = create(new Date()); // 0 member
-        HistoryRelation rel1 = create(new Date()); // 1 member
-        HistoryRelation rel2 = create(new Date()); // 2 members
+        HistoryRelation rel0 = create(Instant.now()); // 0 member
+        HistoryRelation rel1 = create(Instant.now()); // 1 member
+        HistoryRelation rel2 = create(Instant.now()); // 2 members
 
         rel1.addMember(new RelationMemberData(null, OsmPrimitiveType.NODE, 1));
Index: trunk/test/unit/org/openstreetmap/josm/data/osm/history/HistoryWayTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/osm/history/HistoryWayTest.java	(revision 17837)
+++ trunk/test/unit/org/openstreetmap/josm/data/osm/history/HistoryWayTest.java	(revision 17838)
@@ -6,5 +6,5 @@
 import static org.junit.jupiter.api.Assertions.fail;
 
-import java.util.Date;
+import java.time.Instant;
 import java.util.HashMap;
 import java.util.List;
@@ -33,5 +33,5 @@
     public JOSMTestRules test = new JOSMTestRules();
 
-    private static HistoryWay create(Date d) {
+    private static HistoryWay create(Instant d) {
         return new HistoryWay(
                 1,    // id
@@ -49,5 +49,5 @@
     @Test
     void testHistoryWay() {
-        Date d = new Date();
+        Instant d = Instant.now();
         HistoryWay way = create(d);
 
@@ -58,5 +58,5 @@
         assertEquals(3, way.getUser().getId());
         assertEquals(4, way.getChangesetId());
-        assertEquals(d, way.getTimestamp());
+        assertEquals(d, way.getInstant());
 
         assertEquals(0, way.getNumNodes());
@@ -68,10 +68,10 @@
     @Test
     void testGetType() {
-        assertEquals(OsmPrimitiveType.WAY, create(new Date()).getType());
+        assertEquals(OsmPrimitiveType.WAY, create(Instant.now()).getType());
     }
 
     @Test
     void testNodeManipulation() {
-        HistoryWay way = create(new Date());
+        HistoryWay way = create(Instant.now());
 
         way.addNode(1);
@@ -93,5 +93,5 @@
     @Test
     void testIterating() {
-        HistoryWay way = create(new Date());
+        HistoryWay way = create(Instant.now());
 
         way.addNode(1);
@@ -110,7 +110,7 @@
     void testGetDisplayName() {
         HistoryNameFormatter hnf = DefaultNameFormatter.getInstance();
-        HistoryWay way0 = create(new Date()); // no node
-        HistoryWay way1 = create(new Date()); // 1 node
-        HistoryWay way2 = create(new Date()); // 2 nodes
+        HistoryWay way0 = create(Instant.now()); // no node
+        HistoryWay way1 = create(Instant.now()); // 1 node
+        HistoryWay way2 = create(Instant.now()); // 2 nodes
 
         way1.addNode(1);
Index: trunk/test/unit/org/openstreetmap/josm/gui/history/HistoryBrowserDialogTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/history/HistoryBrowserDialogTest.java	(revision 17837)
+++ trunk/test/unit/org/openstreetmap/josm/gui/history/HistoryBrowserDialogTest.java	(revision 17838)
@@ -4,5 +4,5 @@
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import java.util.Date;
+import java.time.Instant;
 
 import org.junit.jupiter.api.extension.RegisterExtension;
@@ -15,5 +15,4 @@
 import org.openstreetmap.josm.data.osm.history.HistoryWay;
 import org.openstreetmap.josm.testutils.JOSMTestRules;
-import org.openstreetmap.josm.tools.date.DateUtils;
 
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@@ -38,5 +37,5 @@
         HistoryDataSet hds = new HistoryDataSet();
         User user = User.createOsmUser(1, "");
-        Date date = DateUtils.fromString("2016-01-01");
+        Instant date = Instant.parse("2016-01-01T00:00:00Z");
         hds.put(new HistoryNode(1, 1, true, user, 1, date, null));
         assertEquals("History for node 1", HistoryBrowserDialog.buildTitle(hds.getHistory(1, OsmPrimitiveType.NODE)));
Index: trunk/test/unit/org/openstreetmap/josm/io/OsmChangesetContentParserTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/io/OsmChangesetContentParserTest.java	(revision 17837)
+++ trunk/test/unit/org/openstreetmap/josm/io/OsmChangesetContentParserTest.java	(revision 17838)
@@ -116,5 +116,5 @@
         assertEquals(1, p.getVersion());
         assertEquals(1, p.getChangesetId());
-        assertNotNull(p.getTimestamp());
+        assertNotNull(p.getInstant());
         assertEquals(ChangesetModificationType.CREATED, ds.getModificationType(p.getPrimitiveId()));
         assertTrue(ds.isCreated(p.getPrimitiveId()));
@@ -146,5 +146,5 @@
         assertEquals(1, p.getVersion());
         assertEquals(1, p.getChangesetId());
-        assertNotNull(p.getTimestamp());
+        assertNotNull(p.getInstant());
         assertEquals(ChangesetModificationType.UPDATED, ds.getModificationType(p.getPrimitiveId()));
         assertTrue(ds.isUpdated(p.getPrimitiveId()));
@@ -176,5 +176,5 @@
         assertEquals(1, p.getVersion());
         assertEquals(1, p.getChangesetId());
-        assertNotNull(p.getTimestamp());
+        assertNotNull(p.getInstant());
         assertEquals(ChangesetModificationType.DELETED, ds.getModificationType(p.getPrimitiveId()));
         assertTrue(ds.isDeleted(p.getPrimitiveId()));
@@ -218,5 +218,5 @@
         assertEquals(1, p.getVersion());
         assertEquals(1, p.getChangesetId());
-        assertNotNull(p.getTimestamp());
+        assertNotNull(p.getInstant());
         assertEquals(ChangesetModificationType.CREATED, ds.getModificationType(p.getPrimitiveId()));
         assertTrue(ds.isCreated(p.getPrimitiveId()));
@@ -228,5 +228,5 @@
         assertEquals(2, w.getVersion());
         assertEquals(1, w.getChangesetId());
-        assertNotNull(w.getTimestamp());
+        assertNotNull(w.getInstant());
         assertEquals(ChangesetModificationType.UPDATED, ds.getModificationType(w.getPrimitiveId()));
         assertTrue(ds.isUpdated(w.getPrimitiveId()));
@@ -239,5 +239,5 @@
         assertEquals(3, r.getVersion());
         assertEquals(1, r.getChangesetId());
-        assertNotNull(r.getTimestamp());
+        assertNotNull(r.getInstant());
         assertEquals(ChangesetModificationType.DELETED, ds.getModificationType(r.getPrimitiveId()));
         assertTrue(ds.isDeleted(r.getPrimitiveId()));
Index: trunk/test/unit/org/openstreetmap/josm/io/OsmServerHistoryReaderTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/io/OsmServerHistoryReaderTest.java	(revision 17837)
+++ trunk/test/unit/org/openstreetmap/josm/io/OsmServerHistoryReaderTest.java	(revision 17838)
@@ -17,4 +17,6 @@
 
 import com.github.tomakehurst.wiremock.junit.WireMockRule;
+
+import java.time.Instant;
 
 /**
@@ -50,5 +52,5 @@
         assertEquals(1, h.getLatest().getNumKeys());
         assertEquals(65565982, h.getLatest().getChangesetId());
-        assertEquals(1545089885000L, h.getLatest().getTimestamp().getTime());
+        assertEquals(Instant.ofEpochMilli(1545089885000L), h.getLatest().getInstant());
     }
 
@@ -65,5 +67,5 @@
         assertEquals(10, h.getLatest().getNumKeys());
         assertEquals(26368284, h.getLatest().getChangesetId());
-        assertEquals(1414429134000L, h.getLatest().getTimestamp().getTime());
+        assertEquals(Instant.ofEpochMilli(1414429134000L), h.getLatest().getInstant());
     }
 
@@ -80,5 +82,5 @@
         assertEquals(0, h.getLatest().getNumKeys());
         assertEquals(486501, h.getLatest().getChangesetId());
-        assertEquals(1194886166000L, h.getLatest().getTimestamp().getTime());
+        assertEquals(Instant.ofEpochMilli(1194886166000L), h.getLatest().getInstant());
     }
 }
