anchor.diff:                            :offset offset
                             :into into)))))
   
  -(defmacro with-decoded-timestamp ((&key nsec sec minute hour day month year day-of-week daylight-p timezone)
  +(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)
  
positive.code:              (nsec-of timestamp)
               seconds minutes hours
               day month year
               (timestamp-day-of-week timestamp :timezone timezone)
               daylight-p
               offset
               abbreviation))))))
  
  (defun timestamp-year (timestamp &key (timezone *default-timezone*))
  
negative.code:        minutes
         seconds))))
  
  (defun decode-timestamp (timestamp &key (timezone *default-timezone*) offset)
    "Returns the decoded time as multiple values: nsec, ss, mm, hh, day, month, year, day-of-week"
    (declare (type timestamp timestamp))
    (when offset
      (setf timezone (the timezone +none-zone+)))
    (multiple-value-bind (offset* daylight-p abbreviation)
        (timestamp-subtimezone timestamp timezone)
        (multiple-value-bind (adjusted-secs adjusted-days)
            (%adjust-to-timezone timestamp timezone offset)
          (multiple-value-bind (hours minutes seconds)
              (%timestamp-decode-time adjusted-secs)
            (multiple-value-bind (year month day)
  