]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/data/Timestamp.java
Version 3, August 2007
[GpsPrune.git] / tim / prune / data / Timestamp.java
index 965853ad036e5b61a44fe1dc58af87154bfc7df0..ddb380818fc45d091c92ccd57111b5ae40d34eee 100644 (file)
@@ -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
         */