anchor.diff:        (declare-fixnum-type sec minute hour day month year)
         (initialize nsec sec minute hour day month year day-of-week daylight-p))
       `(multiple-value-bind (,@variables)
  -         (decode-timestamp ,timestamp :timezone ,(or timezone '*default-timezone*))
  +         (decode-timestamp ,timestamp :timezone ,(or timezone '*default-timezone*) :offset ,offset)
          (declare (ignore ,@ignores) ,@types)
          ,@forms)))
   
  
positive.code:              (decf new-sec +seconds-per-day+)))
        (values new-sec new-day))))
  
  (defun %adjust-to-timezone (source timezone)
    (%adjust-to-offset (sec-of source)
                       (day-of source)
                       (timestamp-subtimezone source timezone)))
  
  (defun timestamp-minimize-part (timestamp part &key
                                  (offset (%get-default-offset))
  
negative.code:                           :offset offset
                            :into into)))))
  
  (defmacro with-decoded-timestamp ((&key nsec sec minute hour day month year day-of-week daylight-p timezone offset)
                                     timestamp &body forms)
    "This macro binds variables to the decoded elements of TIMESTAMP. The TIMEZONE argument is used for decoding the timestamp, and is not bound by the macro. The value of DAY-OF-WEEK starts from 0 which means Sunday."
    (let ((ignores)
  