anchor.diff:      (is (= 3 (length (multiple-value-list (timezone local-time))))))
     (encode-decode-test (0 0 0 0 1 1 0)
       (is (equal (multiple-value-list (decode-local-time local-time))
  -               `(0 0 0 0 1 1 0 5
  +               `(0 0 0 0 1 1 0 6
                    ,(nth-value 1 (timezone local-time))
                    ,*default-timezone*
                    ,(nth-value 2 (timezone local-time))))))
  
positive.code:              (is (= day day*)))))
  
  (defun valid-date-p (year month day)
    (let ((month-days #(31 28 31 30 31 30 31 31 30 31 30 31)))
      (and (<= 1 month 12)
           (<= 1 day (+ (aref month-days (1- month))
                        (if (and (= month 2)
                                 (zerop (mod year 4)))
                            1
                            0))))))
  
  
negative.code: 
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
  (test adjust-local-time
    (let ((utc-1 (local-time::make-timezone :subzones '((-3600 NIL "UTC-1" T NIL))
                                            :loaded t))
          (utc+1 (local-time::make-timezone :subzones '((+3600 NIL "UTC+1" T NIL))
                                            :loaded t))
          (epoch (local-time :unix 0 :timezone +utc-zone+)))
      (is (equal (decode-local-time (adjust-local-time epoch (set :timezone utc-1)))
                 ;; ms ss mm hh day mon year wday ds-p zone abbrev
                 (values 00 00 00 23 31 12 1969 3 nil utc-1 "UTC-1")))
      (let ((local-time (local-time :unix 3600 :timezone +utc-zone+)))
        (is (equal (decode-local-time (adjust-local-time local-time (set :timezone utc-1)))
                   ;; ms ss mm hh day mon year
                   (values 00 00 00 00 01 01 1970 4 nil utc-1 "UTC-1"))))
      (is (equal (decode-local-time (adjust-local-time epoch (set :timezone utc+1)))
                 ;; ms ss mm hh day mon year
                 (values 00 00 00 01 01 01 1970 4 nil utc+1 "UTC+1")))))
  
  