Index: /trunk/psLib/src/astro/psTime.c
===================================================================
--- /trunk/psLib/src/astro/psTime.c	(revision 7702)
+++ /trunk/psLib/src/astro/psTime.c	(revision 7703)
@@ -10,6 +10,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.88 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-27 03:48:35 $
+ *  @version $Revision: 1.89 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-27 04:13:07 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -1629,4 +1629,29 @@
 }
 
+psTime* psTimeStrptime(const char *s, const char *format)
+{
+    PS_ASSERT_PTR_NON_NULL(s, NULL);
+    PS_ASSERT_PTR_NON_NULL(format, NULL);
+
+    struct tm tmTime;
+    char *lastChar = strptime((char *)s, "%EY-%m-%d%t%T", &tmTime);
+    if (!lastChar) {
+        psError(PS_ERR_UNKNOWN, true, "error parsing time string");
+        return NULL;
+    }
+
+    if (*lastChar != '\0') {
+        psWarning("time string was not completely consumed\n");
+    }
+
+    psTime *time = psTimeFromTM(&tmTime);
+    if (!time) {
+        psError(PS_ERR_UNKNOWN, false, "failed to generate a psTime");
+        return NULL;
+    }
+
+    return time;
+}
+
 psTime* psTimeMath(const psTime *time,
                    double delta)
Index: /trunk/psLib/src/astro/psTime.h
===================================================================
--- /trunk/psLib/src/astro/psTime.h	(revision 7702)
+++ /trunk/psLib/src/astro/psTime.h	(revision 7703)
@@ -11,6 +11,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.46 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-27 03:45:25 $
+ *  @version $Revision: 1.47 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-27 04:13:07 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -366,4 +366,17 @@
 );
 
+/** Convert an arbitrary string into a psTime.
+ *
+ *  Converts a string, using a strptime(3) format, into a psTime.  See
+ *  strptime(3) for documentation on this format.
+ *
+ *  @return  psTime*: time.
+ */
+
+psTime* psTimeStrptime(
+    const char *s,                  ///< string to be converted
+    const char *format              ///< strptime format
+);
+
 /** Adds delta to time. Result is in TAI time.
  *
