Index: /trunk/FACT++/src/Time.cc
===================================================================
--- /trunk/FACT++/src/Time.cc	(revision 10251)
+++ /trunk/FACT++/src/Time.cc	(revision 10252)
@@ -35,10 +35,12 @@
 
 // strftime
-const _time_format Time::reset = 0;
-const _time_format Time::def   = "%c";
-const _time_format Time::std   = "%x %X%F";
-const _time_format Time::sql   = "%Y-%m-%d %H:%M:%S.%f";
-const _time_format Time::iso   = "%Y%m%dT%H%M%S%F%q";
-const _time_format Time::magic = "%Y %m %d %H %M %S %f";
+const _time_format Time::reset  = 0;
+const _time_format Time::def    = "%c";
+const _time_format Time::std    = "%x %X%F";
+const _time_format Time::sql    = "%Y-%m-%d %H:%M:%S.%f";
+const _time_format Time::ssql   = "%Y-%m-%d %H:%M:%S";
+const _time_format Time::iso    = "%Y%m%dT%H%M%S%F%q";
+const _time_format Time::magic  = "%Y %m %d %H %M %S %f";
+const _time_format Time::smagic = "%Y %m %d %H %M %S";
 
 /*
@@ -118,4 +120,5 @@
 void Time::Mjd(double mjd)
 {
+    // Convert MJD to seconds since offset
     mjd -= 40587;
     mjd *= 24*60*60;
@@ -141,5 +144,7 @@
 
     const int exp = tod.num_fractional_digits();
-    const double sec = tod.fractional_seconds()/pow(10, exp);
+
+    const double frac = tod.fractional_seconds()/pow(10, exp);
+    const double sec  = tod.total_seconds()+frac;
 
     return date().modjulian_day()+sec/(24*60*60);
Index: /trunk/FACT++/src/Time.h
===================================================================
--- /trunk/FACT++/src/Time.h	(revision 10251)
+++ /trunk/FACT++/src/Time.h	(revision 10252)
@@ -36,10 +36,12 @@
     static const _time_format fmt(const char *txt=0);
 
-    static const _time_format reset; /// Remove the format description from the stream
-    static const _time_format def;   /// set to format to the locale default
-    static const _time_format std;   /// set to format to the iso standard
-    static const _time_format sql;   /// set to format to the sql format
-    static const _time_format iso;   /// set to format to the extended iso standard
-    static const _time_format magic; /// set to format to the MAGIC report format
+    static const _time_format reset;   /// Remove the format description from the stream
+    static const _time_format def;     /// set to format to the locale default
+    static const _time_format std;     /// set to format to the iso standard
+    static const _time_format sql;     /// set to format to the sql format
+    static const _time_format ssql;    /// set to format to the sql format (without the fraction of seconds)
+    static const _time_format iso;     /// set to format to the extended iso standard
+    static const _time_format magic;   /// set to format to the MAGIC report format
+    static const _time_format smagic;  /// set to format to the MAGIC report format (without the fraction of seconds)
 
     /// Enum used in the instantisation of the class to change the inititalisation value
@@ -65,6 +67,6 @@
 
     // Convesion from and to a string
-    std::string GetAsStr(const char *fmt="%Y-%m-%d %H:%M:%S.%f") const;
-    void SetFromStr(const std::string &str, const char *fmt="%Y-%m-%d %H:%M:%S.%f");
+    std::string GetAsStr(const char *fmt="%Y-%m-%d %H:%M:%S") const;
+    void SetFromStr(const std::string &str, const char *fmt="%Y-%m-%d %H:%M:%S");
 
     // Conversion to and from MJD
