Index: /branches/eam_branches/ipp-20150625/Ohana/src/opihi/cmd.basic/date.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/opihi/cmd.basic/date.c	(revision 38684)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/opihi/cmd.basic/date.c	(revision 38685)
@@ -3,5 +3,6 @@
 int date (int argc, char **argv) {
   
-  int N, SECONDS, REFTIME;
+  int N, SECONDS;
+  double REFTIME;
   struct timeval now;
   char *tstring = NULL;
@@ -16,8 +17,8 @@
   }
 
-  REFTIME = 0;
+  REFTIME = 0.0;
   if ((N = get_argument (argc, argv, "-reftime"))) {
     remove_argument (N, &argc, argv);
-    REFTIME = atoi (argv[N]);
+    REFTIME = atof (argv[N]);
     remove_argument (N, &argc, argv);
   } 
@@ -37,8 +38,9 @@
   gettimeofday (&now, NULL);
   if (SECONDS) {
+    double nowSec = now.tv_sec + 1e-6*now.tv_usec;
     if (varName) {
-      set_int_variable (varName, now.tv_sec - REFTIME);
+      set_variable (varName, nowSec - REFTIME);
     } else {
-      gprint (GP_ERR, "%d\n", (int) now.tv_sec - REFTIME);
+      gprint (GP_ERR, "%.12g\n", nowSec - REFTIME);
     }
   } else {
