diff --git a/brouter-core/src/main/java/btools/router/FormatGpx.java b/brouter-core/src/main/java/btools/router/FormatGpx.java
index e162292..0ed6cc5 100644
--- a/brouter-core/src/main/java/btools/router/FormatGpx.java
+++ b/brouter-core/src/main/java/btools/router/FormatGpx.java
@@ -250,7 +250,7 @@ public class FormatGpx extends Formatter {
MatchedWaypoint mwpt = t.getMatchedWaypoint(idx);
if (t.showTime) {
- sele += "";
+ sele += "";
}
if (turnInstructionMode == 8) {
if (mwpt != null &&
diff --git a/brouter-core/src/main/java/btools/router/Formatter.java b/brouter-core/src/main/java/btools/router/Formatter.java
index 190d279..b9c3276 100644
--- a/brouter-core/src/main/java/btools/router/Formatter.java
+++ b/brouter-core/src/main/java/btools/router/Formatter.java
@@ -2,6 +2,10 @@ package btools.router;
import java.io.BufferedWriter;
import java.io.FileWriter;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+import java.util.TimeZone;
public abstract class Formatter {
private static final int OUTPUT_FORMAT_GPX = 0;
@@ -70,4 +74,41 @@ public abstract class Formatter {
return new String(ac, i + 1, 11 - i);
}
+ public static String getFormattedTime2(int s) {
+ int seconds = (int) (s + 0.5);
+ int hours = seconds / 3600;
+ int minutes = (seconds - hours * 3600) / 60;
+ seconds = seconds - hours * 3600 - minutes * 60;
+ String time = "";
+ if (hours != 0)
+ time = "" + hours + "h ";
+ if (minutes != 0)
+ time = time + minutes + "m ";
+ if (seconds != 0)
+ time = time + seconds + "s";
+ return time;
+ }
+
+ static public String getFormattedEnergy(int energy) {
+ return format1(energy / 3600000.) + "kwh";
+ }
+
+ static private String format1(double n) {
+ String s = "" + (long) (n * 10 + 0.5);
+ int len = s.length();
+ return s.substring(0, len - 1) + "." + s.charAt(len - 1);
+ }
+
+
+ static final String dateformat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
+
+ static public String getFormattedTime3(float time) {
+ SimpleDateFormat TIMESTAMP_FORMAT = new SimpleDateFormat(dateformat, Locale.US);
+ TIMESTAMP_FORMAT.setTimeZone(TimeZone.getTimeZone("UTC"));
+ // yyyy-mm-ddThh:mm:ss.SSSZ
+ Date d = new Date((long) (time * 1000f));
+ return TIMESTAMP_FORMAT.format(d);
+ }
+
+
}
diff --git a/brouter-core/src/main/java/btools/router/RoutingEngine.java b/brouter-core/src/main/java/btools/router/RoutingEngine.java
index c3c2597..a3c2d1e 100644
--- a/brouter-core/src/main/java/btools/router/RoutingEngine.java
+++ b/brouter-core/src/main/java/btools/router/RoutingEngine.java
@@ -192,7 +192,7 @@ public class RoutingEngine extends Thread {
track.message = "track-length = " + track.distance + " filtered ascend = " + track.ascend
+ " plain-ascend = " + track.plainAscend + " cost=" + track.cost;
if (track.energy != 0) {
- track.message += " energy=" + track.getFormattedEnergy() + " time=" + track.getFormattedTime2();
+ track.message += " energy=" + Formatter.getFormattedEnergy(track.energy) + " time=" + Formatter.getFormattedTime2(track.getTotalSeconds());
}
track.name = "brouter_" + routingContext.getProfileName() + "_" + i;
@@ -1676,7 +1676,7 @@ public class RoutingEngine extends Thread {
}
public String getTime() {
- return foundTrack.getFormattedTime2();
+ return Formatter.getFormattedTime2(foundTrack.getTotalSeconds());
}
public OsmTrack getFoundTrack() {