Index: trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java	(revision 742)
+++ trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java	(revision 743)
@@ -720,4 +720,10 @@
 					for (WayPoint p : segment) {
 						Node n = new Node(p.latlon);
+						String timestr = p.getString("time");
+						if(timestr != null)
+						{
+							timestr = timestr.replace("Z","+00:00");
+							n.timestamp = timestr;
+						}
 						ds.nodes.add(n);
 						w.nodes.add(n);
Index: trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 742)
+++ trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 743)
@@ -368,5 +368,8 @@
 					doneNodes.add(n);
 				}
-				trkseg.add(new WayPoint(n.coor));
+				WayPoint wpt = new WayPoint(n.coor);
+				if(n.timestamp != null)
+					wpt.attr.put("time", n.timestamp);
+				trkseg.add(wpt);
 			}
 		}
@@ -374,4 +377,6 @@
 			if (n.incomplete || n.deleted || doneNodes.contains(n)) continue;
 			WayPoint wpt = new WayPoint(n.coor);
+			if(n.timestamp != null)
+				wpt.attr.put("time", n.timestamp);
 			if (n.keys != null && n.keys.containsKey("name")) {
 				wpt.attr.put("name", n.keys.get("name"));
