r10820: 12 Nov 2005 Kevin Rosenberg <kevin@rosenberg.net>
[clsql.git] / sql / time.lisp
index 0f8d5e235f0e75ad6fc4fd7787aacf8b721f35c9..ea5667fe785b03b51abd4d8c9bc3d87a9f33b2d6 100644 (file)
@@ -67,7 +67,9 @@
 
 (defun %print-wall-time (time stream depth)
   (declare (ignore depth))
-  (format stream "#<WALL-TIME: ~a>" (format-time nil time)))
+  (if *print-escape*
+      (format stream "#<WALL-TIME: ~a>" (format-time nil time))
+      (format-time stream time :format :pretty)))
 
 (defstruct (duration (:constructor %make-duration)
                      (:print-function %print-duration))
 
 (defun %print-duration (duration stream depth)
   (declare (ignore depth))
-  (format stream "#<DURATION: ~a>"
-          (format-duration nil duration :precision :second)))
+  (if *print-escape*
+      (format stream "#<DURATION: ~a>"
+             (format-duration nil duration :precision :second))
+      (format-duration stream duration :precision :second)))
 
 (defstruct (date (:constructor %make-date)
                 (:print-function %print-date))
@@ -90,7 +94,9 @@
 
 (defun %print-date (date stream depth)
   (declare (ignore depth))
-  (format stream "#<DATE: ~a>" (format-date nil date)))
+  (if *print-escape*
+      (format stream "#<DATE: ~a>" (format-date nil date))
+      (format-date stream date :format :pretty)))
 
 );eval-when
 
@@ -1054,9 +1060,8 @@ with the given options"
                         (* 60 minute)
                         (* 60 60 hour))))
                1000000)
-      (declare (ignore sec-new))
       (multiple-value-bind (mjd-new sec-new)
-          (floor sec (* 60 60 24))
+          (floor sec-new (* 60 60 24))
         (if destructive
             (progn
               (setf (time-mjd date) (+ mjd mjd-new day)