X-Git-Url: http://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2Fdata%2FTimestamp.java;h=ddb380818fc45d091c92ccd57111b5ae40d34eee;hp=965853ad036e5b61a44fe1dc58af87154bfc7df0;hb=5625a1abadb5f2ca5f017fe7dbda1d5141cb637b;hpb=23959e65a6a0d581e657b07186d18b7a1ac5afeb diff --git a/tim/prune/data/Timestamp.java b/tim/prune/data/Timestamp.java index 965853a..ddb3808 100644 --- a/tim/prune/data/Timestamp.java +++ b/tim/prune/data/Timestamp.java @@ -53,6 +53,7 @@ public class Timestamp */ public Timestamp(String inString) { + // TODO: Does it really help to store timestamps in seconds rather than ms? if (inString != null && !inString.equals("")) { // Try to parse into a long @@ -85,7 +86,7 @@ public class Timestamp // Lastly, check garmin offset if (diff4 < smallestDiff) { - // milliseconds since garmin offset + // seconds since garmin offset _seconds = rawValue + GARTRIP_OFFSET; } _valid = true; @@ -111,6 +112,41 @@ public class Timestamp } + /** + * Constructor giving each field value individually + * @param inYear year + * @param inMonth month, beginning with 1 + * @param inDay day of month, beginning with 1 + * @param inHour hour of day, 0-24 + * @param inMinute minute + * @param inSecond seconds + */ + public Timestamp(int inYear, int inMonth, int inDay, int inHour, int inMinute, int inSecond) + { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.YEAR, inYear); + cal.set(Calendar.MONTH, inMonth - 1); + cal.set(Calendar.DAY_OF_MONTH, inDay); + cal.set(Calendar.HOUR_OF_DAY, inHour); + cal.set(Calendar.MINUTE, inMinute); + cal.set(Calendar.SECOND, inSecond); + cal.set(Calendar.MILLISECOND, 0); + _seconds = cal.getTimeInMillis() / 1000; + _valid = true; + } + + + /** + * Constructor giving millis since 1970 + * @param inMillis + */ + public Timestamp(long inMillis) + { + _seconds = inMillis / 1000; + _valid = true; + } + + /** * @return true if timestamp is valid */