anchor.diff:  
   
   (defpackage local-time
  -    (:use cl)
  +	(:use cl)
     (:export local-time
   		   make-local-time
  -		   epoch-days-of
  -		   epoch-secs-of
  -		   epoch-usec-of
  +		   day-of
  +		   sec-of
  +		   usec-of
   		   timezone-of
   		   local-time<
   		   local-time<=
  
positive.code:   (error "Not implemented"))
  
  (defun local-timezone (adjusted-local-time
                         &optional (timezone *default-timezone*))
    "Return the local timezone adjustment applicable at the already adjusted-local-time.  Used to reverse the effect of TIMEZONE and LOCAL-TIME-ADJUST."
    (let* ((unix-time (unix-time adjusted-local-time))
           (subzone-idx (or
                         (second (find-if
                                  (lambda (tuple)
                                    (> unix-time
                                       (- (first tuple)
                                          (first
                                           (nth (second tuple)
                                                (timezone-subzones timezone))))))
                                  (timezone-transitions timezone)))
                         0)))
      (first (nth subzone-idx (timezone-subzones timezone)))))
  
  (defun read-timestring (stream char)
    (declare (ignore char))
  
negative.code:   "Returns a new LOCAL-TIME containing the difference between TIME-A and TIME-B"
    (multiple-value-bind (day-a sec-a)
  	  (local-time-adjust time-a (timezone-of time-b))
        (let ((usec (- (usec-of time-a) (usec-of time-b)))
              (seconds (- sec-a (sec-of time-b)))
              (days (- day-a (day-of time-b))))
          (when (minusp usec)
            (decf seconds)
            (incf usec 1000000))
          (when (minusp seconds)
            (decf days)
            (incf seconds 86400))
          (make-localtime :usec usec
                          :sec seconds
                          :day days))))
  
  (defun local-time-sum (time-a time-b)
    "Returns a new LOCAL-TIME containing the sum of TIME-A and TIME-B"
    (multiple-value-bind (day-a sec-a)
  	  (local-time-adjust time-a (timezone-of time-b))
  	(let ((usec (+ (epoch-usec-of time-a) (epoch-usec-of time-b)))
  		  (sec (+ sec-a (epoch-sec-of time-b)))
  		  (day (+ day-a (epoch-day-of time-b))))
  	  (when (> usec 1000000)
  		(decf usec 1000000)
  		(incf sec))
  	  (when (> sec 86400)
  		(decf sec 86400)
  		(incf day))
  	  (make-local-time :epoch-usec usec
  					   :epoch-sec sec
  					   :epoch-day day
  					   :timezone (timezone-of time-b)))))
  
  (defun local-time-compare (time-a time-b)
    "Returns the symbols <, >, or =, describing the relationship between TIME-A and TIME-b."
    (multiple-value-bind (day-a sec-a)
  	  (local-time-adjust time-a (timezone-of time-b))
  	(cond
  	  ((< day-a (epoch-day-of time-b)) '<)
  	  ((> day-a (epoch-day-of time-b)) '>)
  	  ((< sec-a (epoch-sec-of time-b)) '<)
  	  ((> sec-a (epoch-sec-of time-b)) '>)
  	  ((< (epoch-usec-of time-a) (epoch-usec-of time-b)) '<)
  	  ((> (epoch-usec-of time-a) (epoch-usec-of time-b)) '>)
  	  (t													 '=))))
  
  (defun month-days (month)
    (aref +month-days+ month))
  