Index: trunk/FACT++/src/Time.cc
===================================================================
--- trunk/FACT++/src/Time.cc	(revision 15003)
+++ trunk/FACT++/src/Time.cc	(revision 15006)
@@ -40,5 +40,5 @@
 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::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";
@@ -243,5 +243,5 @@
 {
     stringstream out;
-    out << Time::fmt("%Y-%m-%dT%H:%M:%S%F") << *this;
+    out << Time::iso << *this;
     return out.str();
 }
Index: trunk/FACT++/src/Time.h
===================================================================
--- trunk/FACT++/src/Time.h	(revision 15003)
+++ trunk/FACT++/src/Time.h	(revision 15006)
@@ -25,4 +25,5 @@
     /// initialize ptr with what should be passed to the iostreams
     _time_format(const char *txt) : ptr(txt) { }
+    std::string str() const { return ptr; }
 };
 
@@ -53,5 +54,5 @@
     };
 
-private:
+public:
     /// Points to the famous 1/1/1970, the standard offset for unix times
     const static boost::gregorian::date fUnixOffset;
@@ -67,4 +68,10 @@
          unsigned int us=0);
     Time(double mjd) { Mjd(mjd); }
+    Time(const std::string &str)
+    {
+        std::stringstream stream;
+        stream << str;
+        stream >> Time::iso >> *this;
+    }
 
     // Convesion from and to a string
