Changeset 13925 in project


Ignore:
Timestamp:
03/25/09 17:44:09 (11 years ago)
Author:
Kon Lovett
Message:

Updated leap year info.

Location:
release/3/srfi-19/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • release/3/srfi-19/trunk/srfi-19-core.scm

    r13905 r13925  
    102102    (generic)
    103103    (no-procedure-checks)
    104     (no-bound-checks)
    105104    (import
    106       ; sys namespace
    107       ##sys#slot ; Instead of unit lolevel
    108       ; SRFI-18
     105      ; SRFI-18 - This is a hack, works because Unit srfi-18 is part of the Chicken core.
    109106      seconds->time)
    110107    (bound-to-procedure
    111108      ##sys#slot
    112109      seconds->time
    113       tm:date->julian-day)
     110      ##sys#check-structure)
    114111    (export
    115       ;; SRFI-19 extensions
    116       ONE-SECOND-DURATION ONE-NANOSECOND-DURATION
    117       time-type?
    118       make-duration
    119       divide-duration
    120       divide-duration!
    121       multiply-duration
    122       multiply-duration!
    123       srfi-19:current-time
    124       srfi-19:time?
    125       time->srfi-18-time
    126       srfi-18-time->time
    127       time-max
    128       time-min
    129       time-negative?
    130       time-positive?
    131       time-zero?
    132       time-abs
    133       time-abs!
    134       time-negate
    135       time-negate!
    136       seconds->time/type
    137       seconds->date/type
    138       time->nanoseconds
    139       nanoseconds->time
    140       nanoseconds->seconds
    141       read-leap-second-table
    142       time->milliseconds
    143       milliseconds->time
    144       milliseconds->seconds
    145       time->date
    146       make-timezone-locale
    147       timezone-locale?
    148       timezone-locale-name
    149       timezone-locale-offset
    150       timezone-locale-dst?
    151       local-timezone-locale
    152       utc-timezone-locale
    153       default-date-clock-type
    154       date-zone-name
    155       date-dst?
    156       copy-date
    157       date->time
    158       date-difference
    159       date-add-duration
    160       date-subtract-duration
    161       date=?
    162       date>?
    163       date<?
    164       date>=?
    165       date<=?
    166       time->julian-day
    167       time->modified-julian-day
    168       date-compare
    169       time-compare
    170       ;; SRFI-19
     112      ; SRFI-19
    171113      time-tai
    172114      time-utc
     
    248190      time-utc->time-tai
    249191      time-utc->time-tai!
    250       ;; Internal API, for srfi-19-io & srfi-19-period
     192      ; Extensions
     193      ONE-SECOND-DURATION
     194      ONE-NANOSECOND-DURATION
     195      time-type?
     196      make-duration
     197      divide-duration
     198      divide-duration!
     199      multiply-duration
     200      multiply-duration!
     201      srfi-19:current-time
     202      srfi-19:time?
     203      time->srfi-18-time
     204      srfi-18-time->time
     205      time-max
     206      time-min
     207      time-negative?
     208      time-positive?
     209      time-zero?
     210      time-abs
     211      time-abs!
     212      time-negate
     213      time-negate!
     214      seconds->time/type
     215      seconds->date/type
     216      time->nanoseconds
     217      nanoseconds->time
     218      nanoseconds->seconds
     219      read-leap-second-table
     220      time->milliseconds
     221      milliseconds->time
     222      milliseconds->seconds
     223      time->date
     224      make-timezone-locale
     225      timezone-locale?
     226      timezone-locale-name
     227      timezone-locale-offset
     228      timezone-locale-dst?
     229      local-timezone-locale
     230      utc-timezone-locale
     231      default-date-clock-type
     232      date-zone-name
     233      date-dst?
     234      copy-date
     235      date->time
     236      date-difference
     237      date-add-duration
     238      date-subtract-duration
     239      date=?
     240      date>?
     241      date<?
     242      date>=?
     243      date<=?
     244      time->julian-day
     245      time->modified-julian-day
     246      date-compare
     247      time-compare
     248      ; Internal API, for srfi-19-io & srfi-19-period
    251249      tm:date-day-set!
    252250      tm:date-hour-set!
     
    284282      tm:time-difference) ) )
    285283
    286 (require-extension srfi-6 srfi-8 srfi-9 posix numbers locale misc-extn-record)
     284(require-extension srfi-6 srfi-8 srfi-9 posix miscmacros numbers locale misc-extn-record)
    287285
    288286(register-feature! 'srfi-19)
    289287
    290 ;;;
    291 
    292 ;; Re-defining a macro symbol!
    293 
     288; Re-defining a macro symbol!
    294289(eval-when (compile)
    295290  (undefine-macro! 'time) )
    296 
    297 ;;;
    298291
    299292(include "srfi-19-common")
     
    306299  (let ((accum-ms 0))
    307300    (lambda ()
    308       (set! accum-ms (+ accum-ms (current-gc-milliseconds)))
     301      (set! accum-ms (fx+ accum-ms (current-gc-milliseconds)))
    309302      accum-ms ) ) )
    310303
    311 (define (current-process-milliseconds)
    312   (receive (ums sms) (cpu-time)
    313     (+ ums sms) ) )
     304(define (current-process-milliseconds) (receive (ums sms) (cpu-time) (+ ums sms)))
    314305
    315306;FIXME needs srfi-18 extension
     
    349340
    350341;; A table of leap seconds
    351 ;; See ftp://maia.usno.navy.mil/ser7/tai-utc.dat
    352 ;; and update as necessary.
    353 ;; each entry is (utc seconds since epoch . # seconds to add for tai)
    354 ;; note they go higher (2006) to lower (1972).
     342;; See "ftp://maia.usno.navy.mil/ser7/tai-utc.dat" and update as necessary.
     343;; Each entry is (utc seconds since epoch . # seconds to add for tai)
     344;; Note they go higher (2009) to lower (1972).
    355345
    356346(define tm:leap-second-table
    357   '((1136073600 . 33)
    358     (915148800  . 32)
    359     (867715200  . 31)
    360     (820454400  . 30)
    361     (773020800  . 29)
    362     (741484800  . 28)
    363     (709948800  . 27)
    364     (662688000  . 26)
    365     (631152000  . 25)
    366     (567993600  . 24)
    367     (489024000  . 23)
    368     (425865600  . 22)
    369     (394329600  . 21)
    370     (362793600  . 20)
    371     (315532800  . 19)
    372     (283996800  . 18)
    373     (252460800  . 17)
    374     (220924800  . 16)
    375     (189302400  . 15)
    376     (157766400  . 14)
    377     (126230400  . 13)
    378     (94694400   . 12)
    379     (78796800   . 11)
    380     (63072000   . 10)))
     347  '((1230768000 . 34)
     348                (1136073600 . 33)
     349                (915148800 . 32)
     350                (867715200 . 31)
     351                (820454400 . 30)
     352                (773020800 . 29)
     353                (741484800 . 28)
     354                (709948800 . 27)
     355                (662688000 . 26)
     356                (631152000 . 25)
     357                (567993600 . 24)
     358                (489024000 . 23)
     359                (425865600 . 22)
     360                (394329600 . 21)
     361                (362793600 . 20)
     362                (315532800 . 19)
     363                (283996800 . 18)
     364                (252460800 . 17)
     365                (220924800 . 16)
     366                (189302400 . 15)
     367                (157766400 . 14)
     368                (126230400 . 13)
     369                (94694400 . 12)
     370                (78796800 . 11)
     371                (63072000 . 10)
     372    #;(-60480000 . 4.21317)   ; Before 1972
     373    #;(-126230400 . 4.31317)
     374    #;(-136771200 . 3.84013)
     375    #;(-142128000 . 3.74013)
     376    #;(-152668800 . 3.64013)
     377    #;(-157766400 . 3.54013)
     378    #;(-168307200 . 3.44013)
     379    #;(-181526400 . 3.34013)
     380    #;(-189388800 . 3.24013)
     381    #;(-194659200 . 1.945858)
     382    #;(-252460800 . 1.845858)
     383    #;(-265680000 . 1.372818)
     384    #;(-283996800 . 1.422818) ) )
    381385
    382386;; This procedure reads the file in the
     
    385389
    386390(define (tm:read-tai-utc-data flnm)
    387   (let ((convert-jd (lambda (jd) (* (- (inexact->exact jd) TAI-EPOCH-IN-JD) SEC/DY)))
    388         (convert-sec (lambda (sec) (inexact->exact sec))))
    389     (let ((read-data
    390            (lambda ()
    391              (let loop ((lst '()))
    392                (let ((line (read-line)))
    393                  (if (eof-object? line) lst
    394                      (let ((data (with-input-from-string (string-append "(" line ")") read)))
    395                        (let ((year (car data))
    396                              (jd   (cadddr (cdr data)))
    397                              (secs (cadddr (cdddr data))))
    398                          (loop
    399                            (if (< year FIRST-LEAP-YEAR) lst
    400                                (cons (cons (convert-jd jd) (convert-sec secs)) lst))) ) ) ) ) ) ) ) )
    401       (with-input-from-port (open-input-file flnm) read-data) ) ) )
     391
     392  (define (convert-jd jd) (* (- (inexact->exact jd) TAI-EPOCH-IN-JD) SEC/DY))
     393
     394  (define (convert-sec sec) (inexact->exact sec))
     395
     396  (define (read-data)
     397    (let loop ((lst '()))
     398       (let ((line (read-line)))
     399         (if (eof-object? line) lst
     400             (let ((data (with-input-from-string (string-append "(" line ")") read)))
     401               (let ((year (car data))
     402                     (jd   (cadddr (cdr data)))
     403                     (secs (cadddr (cdddr data))))
     404                 (loop (if (< year FIRST-LEAP-YEAR) lst
     405                           (cons (cons (convert-jd jd) (convert-sec secs)) lst))) ) ) ) ) ) )
     406
     407      (with-input-from-port (open-input-file flnm) read-data) )
    402408
    403409;; Table of cummulative seconds, one second before the leap second.
     
    417423  (set! tm:leap-second-table (tm:read-tai-utc-data flnm))
    418424  (set! tm:second-before-leap-second-table
    419     (tm:calc-second-before-leap-second-table tm:leap-second-table)) )
     425        (tm:calc-second-before-leap-second-table tm:leap-second-table)) )
    420426
    421427;; Going from utc seconds ...
     
    467473    ((time-process)     #t)
    468474    ((time-thread)      #t)
    469     (else               #f)) )
     475    (else               #f) ) )
    470476
    471477(define (clock-time-type? obj)
     
    474480    ((time-tai)         #t)
    475481    ((time-utc)         #t)
    476     (else               #f)) )
    477 
    478 ;;
    479 
    480 (define default-date-clock-type
    481   (make-parameter 'time-utc
    482     (lambda (x)
    483       (cond ((clock-time-type? x) x)
    484             (else
    485              (warning 'default-date-clock-type "bad argument type - expected clock-time-type" x)
    486              (default-date-clock-type) ) ) ) ) )
     482    (else               #f) ) )
     483
     484;;
     485
     486(define-parameter default-date-clock-type 'time-utc
     487  (lambda (obj)
     488    (cond ((clock-time-type? obj) obj)
     489          (else
     490           (warning 'default-date-clock-type "bad argument type - expected clock-time-type" obj)
     491           (default-date-clock-type) ) ) ) )
    487492
    488493(define (tm:check-time-type loc obj)
     
    811816(define (tm:time-difference tim1 tim2 tim3)
    812817  (%set-time-type! tim3 'time-duration)
    813   (if (tm:time=? tim1 tim2)
    814       (begin
    815         (tm:set-time-second! tim3 0)
    816         (tm:set-time-nanosecond! tim3 0))
    817       (receive (ns sec)
    818           (tm:split-nanoseconds (- (time->nanoseconds tim1) (time->nanoseconds tim2)))
    819         (tm:set-time-second! tim3 sec)
    820         (tm:set-time-nanosecond! tim3 ns)))
     818  (cond ((tm:time=? tim1 tim2)
     819         (tm:set-time-second! tim3 0)
     820         (tm:set-time-nanosecond! tim3 0) )
     821        (else
     822         (receive (ns sec)
     823             (tm:split-nanoseconds (- (time->nanoseconds tim1) (time->nanoseconds tim2)))
     824           (tm:set-time-second! tim3 sec)
     825           (tm:set-time-nanosecond! tim3 ns) ) ) )
    821826  tim3 )
    822827
     
    833838    (let ((r (fxmod nsec-minus NS/S))
    834839          (secs (- sec-minus (fx/ nsec-minus NS/S))))
    835       (if (fx< r 0)
    836           (begin
    837             (tm:set-time-second! tim3 (- secs 1))
    838             (tm:set-time-nanosecond! tim3 (fx+ NS/S r)))
    839           (begin
    840             (tm:set-time-second! tim3 secs)
    841             (tm:set-time-nanosecond! tim3 r)))
     840      (cond ((fx< r 0)
     841             (tm:set-time-second! tim3 (- secs 1))
     842             (tm:set-time-nanosecond! tim3 (fx+ NS/S r)) )
     843            (else
     844             (tm:set-time-second! tim3 secs)
     845             (tm:set-time-nanosecond! tim3 r) ) )
    842846      tim3 ) ) )
    843847
     
    10341038  (timezone-component-ref tzc (if (timezone-component-ref tzc 'dst?) a b)) )
    10351039
     1040(define (warning-timezone-components loc obj)
     1041  (warning loc "bad argument type - expected a timezone-components object" obj) )
     1042
    10361043;;
    10371044
     
    10481055;;
    10491056
    1050 (define local-timezone-locale
    1051   (make-parameter (current-timezone-components)
    1052     (lambda (obj)
    1053       (cond ((timezone-components? obj) obj)
    1054             (else
    1055              (warning 'local-timezone-locale "bad argument type - expected a timezone-components object" obj)
    1056              (local-timezone-locale) ) ) ) ) )
    1057 
    1058 (define utc-timezone-locale
    1059   (make-parameter (%make-utc-timezone)
    1060     (lambda (obj)
    1061       (cond ((timezone-components? obj) obj)
    1062             (else
    1063              (warning 'utc-timezone-locale "bad argument type - expected a timezone-components object" obj)
    1064              (utc-timezone-locale) ) ) ) ) )
    1065 
    1066 ;;
    1067 
    1068 (define (timezone-locale-name . args)
    1069   (let-optionals args ((tzc (local-timezone-locale)))
     1057(define-parameter local-timezone-locale (current-timezone-components)
     1058  (lambda (obj)
     1059    (cond ((timezone-components? obj) obj)
     1060          (else
     1061           (warning-timezone-components 'local-timezone-locale obj)
     1062           (local-timezone-locale) ) ) ) )
     1063
     1064(define-parameter utc-timezone-locale (%make-utc-timezone)
     1065  (lambda (obj)
     1066    (cond ((timezone-components? obj) obj)
     1067          (else
     1068           (warning-timezone-components 'utc-timezone-locale obj)
     1069           (utc-timezone-locale) ) ) ) )
     1070
     1071;;
     1072
     1073(define (timezone-locale-name . tzc)
     1074  (let ((tzc (optional tzc (local-timezone-locale))))
    10701075    (check-timezone-components 'timezone-locale-name tzc)
    10711076    (let ((tzn (%timezone-components-ref/dst? tzc 'dst-name 'std-name)))
     
    10741079           tzn ) ) ) )
    10751080
    1076 (define (timezone-locale-offset . args)
    1077   (let-optionals args ((tzc (local-timezone-locale)))
     1081(define (timezone-locale-offset . tzc)
     1082  (let ((tzc (optional tzc (local-timezone-locale))))
    10781083    (check-timezone-components 'timezone-locale-offset tzc)
    10791084    (let ((tzo (%timezone-components-ref/dst? tzc 'dst-offset 'std-offset)))
    10801085      ; TZ may not be set but if it is then convert to ISO 8601
    1081       (if tzo (fxneg tzo) 0) ) ) )
    1082 
    1083 (define (timezone-locale-dst? . args)
    1084   (let-optionals args ((tzc (local-timezone-locale)))
     1086      (if tzo (fxneg tzo)
     1087          0 ) ) ) )
     1088
     1089(define (timezone-locale-dst? . tzc)
     1090  (let ((tzc (optional tzc (local-timezone-locale))))
    10851091    (check-timezone-components 'timezone-locale-offset tzc)
    10861092    (timezone-component-ref tzc 'dst?) ) )
     
    12421248(define (make-date ns sec min hr dy mn yr tzo . rest)
    12431249  (let-optionals rest ((tzn #f) (dstf (void)))
    1244     (if (not (timezone-components? tzo))
    1245         (when (eq? (void) dstf) (set! dstf #f))
    1246         (begin
    1247           ; Supplied parameters override
    1248           (set! dstf (if (eq? (void) dstf) (timezone-locale-dst? tzo) dstf))
    1249           (set! tzn (or tzn (timezone-locale-name tzo)))
    1250           (set! tzo (timezone-locale-offset tzo)) ) )
     1250    (cond ((timezone-components? tzo)
     1251           ; Supplied parameters override
     1252           (set! dstf (if (eq? (void) dstf) (timezone-locale-dst? tzo) dstf))
     1253           (set! tzn (or tzn (timezone-locale-name tzo)))
     1254           (set! tzo (timezone-locale-offset tzo)) )
     1255          (else
     1256           (when (eq? (void) dstf) (set! dstf #f)) ) )
    12511257    (tm:check-exploded-date 'make-date ns sec min hr dy mn yr tzo tzn)
    12521258    (tm:make-date ns sec min hr dy mn yr tzo tzn dstf #f #f #f) ) )
     
    14091415         (m (fx/ (fx+ (fx* 5 e) 2) 153))
    14101416         (y (fx+ (fx* 100 b) (fx+ d (fx- (fx/ m 10) 4800)))))
    1411     (values ; seconds day month year
    1412       (%->fixnum (floor (* (- jdn dys) SEC/DY)))
    1413       (fx+ (fx- e (fx/ (fx+ (fx* 153 m) 2) 5)) 1)
    1414       (fx- (fx+ m 3) (fx* (fx/ m 10) MN/YR))
    1415       (if (fx<= y 0) (fx- y 1) y)) ) )
     1417    (values
     1418      (%->fixnum (floor (* (- jdn dys) SEC/DY)))  ; seconds
     1419      (fx+ (fx- e (fx/ (fx+ (fx* 153 m) 2) 5)) 1) ; day
     1420      (fx- (fx+ m 3) (fx* (fx/ m 10) MN/YR))      ; month
     1421      (if (fx<= y 0) (fx- y 1) y)) ) )            ; year
    14161422
    14171423;; Gives the Julian day number - rounds up to the nearest day
     
    14521458(define (tm:time-tai->date loc tim tzc)
    14531459  (let ((tm-utc (tm:time-tai->time-utc tim (tm:as-empty-time tim))))
    1454     (if (tm:tai-before-leap-second? tim)
    1455         ; then time is *right* before the leap, we need to pretend to subtract a second ...
     1460    (if (not (tm:tai-before-leap-second? tim)) (tm:time->date loc tm-utc tzc)
     1461        ; else time is *right* before the leap, we need to pretend to subtract a second ...
    14561462        (let ((dat (tm:time->date loc (tm:subtract-duration tm-utc ONE-SECOND-DURATION tm-utc) tzc)))
    14571463          (%date-second-set! dat SEC/MIN) ; Note full minute!
    1458           dat )
    1459         (tm:time->date loc tm-utc tzc) ) ) )
     1464          dat ) ) ) )
    14601465
    14611466(define (time-tai->date tim . tzc)
     
    14901495         (m (fx- (fx+ mn (fx* a MN/YR)) 3)))
    14911496    (+ dy
    1492       (fx/ (fx+ (fx* 153 m) 2) 5)
    1493       (fx* y DY/YR)
    1494       (fx/ y 4)
    1495       (fx/ y -100)
    1496       (fx/ y 400)
    1497       -32045) ) )
     1497       (fx/ (fx+ (fx* 153 m) 2) 5)
     1498       (fx* y DY/YR)
     1499       (fx/ y 4)
     1500       (fx/ y -100)
     1501       (fx/ y 400)
     1502       -32045) ) )
    14981503
    14991504(define (tm:date->time-utc loc dat)
     
    15131518  (let* ((tm-utc (tm:date->time-utc loc dat))
    15141519         (tm-tai (tm:time-utc->time-tai tm-utc tm-utc)))
    1515     (if (fx= 60 (%date-second dat))
    1516         (tm:subtract-duration tm-tai ONE-SECOND-DURATION tm-tai)
    1517         tm-tai ) ) )
     1520    (if (not (fx= 60 (%date-second dat))) tm-tai
     1521        (tm:subtract-duration tm-tai ONE-SECOND-DURATION tm-tai) ) ) )
    15181522
    15191523(define (tm:date->time-monotonic loc dat)
     
    15701574         (y (fx- yr a))
    15711575         (m (fx- (fx+ mn (fx* a MN/YR)) 2)))
    1572     (fxmod
    1573      (fx+ (fx+ dy y)
    1574           (fx+ (fx- (fx/ y 4) (fx/ y 100))
    1575                (fx+ (fx/ y 400)
    1576                     (fx/ (fx* m DY/MN) MN/YR))))
    1577      DY/WK) ) )
     1576    (fxmod (fx+ (fx+ dy y)
     1577                (fx+ (fx- (fx/ y 4) (fx/ y 100))
     1578                     (fx+ (fx/ y 400)
     1579                          (fx/ (fx* m DY/MN) MN/YR))))
     1580           DY/WK) ) )
    15781581
    15791582(define (tm:days-before-first-week dat day-of-week-starting-week)
    1580   (fxmod
    1581    (fx- day-of-week-starting-week (tm:week-day 1 1 (%date-year dat)))
    1582    DY/WK) )
     1583  (fxmod (fx- day-of-week-starting-week (tm:week-day 1 1 (%date-year dat))) DY/WK) )
    15831584
    15841585(define (date-week-day dat)
     
    15921593  (%check-date 'date-week-number dat)
    15931594  (let ((day-of-week-starting-week (optional args 0)))
    1594     (fx/
    1595      (fx- (date-year-day dat) (tm:days-before-first-week dat day-of-week-starting-week))
    1596      DY/WK) ) )
     1595    (fx/ (fx- (date-year-day dat) (tm:days-before-first-week dat day-of-week-starting-week))
     1596         DY/WK) ) )
    15971597
    15981598;; Julian-day Operations
     
    17061706
    17071707(define (julian-day->time-utc jdn)
    1708   (receive (ns sec) (tm:split-nanoseconds (* (- jdn TAI-EPOCH-IN-JD) SEC/DY NS/S))
     1708  (receive (ns sec)
     1709      (tm:split-nanoseconds (* (- jdn TAI-EPOCH-IN-JD) SEC/DY NS/S))
    17091710    (tm:make-time 'time-utc ns sec) ) )
    17101711
  • release/3/srfi-19/trunk/srfi-19-eggdoc.scm

    r13907 r13925  
    44
    55(define license #<<EOF
    6 Copyright (c) 2005, Kon Lovett.  All rights reserved.
     6Copyright (c) 2005-2009, Kon Lovett.  All rights reserved.
    77
    88Permission is hereby granted, free of charge, to any person obtaining a
     
    326326
    327327          (subsubsubsection "Deprecated"
    328    
     328
    329329            (procedure "(make-timezone-locale DST-FLAG TZ-COMPONENTS)"
    330               (p "Returns a timezone-locale object.")
    331  
    332               (p "A " (tt "TZ-COMPONENTS") " object is as described by the "
    333               (url "locale.html" "locale egg") ".") )
    334  
     330              (p "Use " (code "(set-timezone-component! TZ-COMPONENTS 'dst? DST-FLAG)") ".") )
     331
    335332            (procedure "(timezone-locale? OBJ)"
    336               (p "Is the " (tt "OBJ") " a timezone-locale object?") )
     333              (p "Use " (code "(timezone-components? OBJ)") ".") )
    337334          )
    338335        )
     
    538535
    539536  (history
    540     (version "2.8.0" "Timezone locale creation removed. Removed 'make-local-timezone-locale'.")
     537    (version "2.8.1" "Updated 'tai-utc.dat'.")
     538    (version "2.8.0" "Timezone locale creation removed. Removed 'make-local-timezone-locale'. Deprecated 'make-timezone-locale' & 'timezone-locale?'.")
    541539    (version "2.7.1" "Fix for 'add/subtract-duration[!].")
    542540    (version "2.7.0" "Replaced date comparison w/ a field by field algorithm. Removed local-timezone-info, local-timezone-name, local-timezone-offset, and local-timezone-dst?.")
  • release/3/srfi-19/trunk/srfi-19.html

    r13907 r13925  
    358358<dt class="definition"><strong>procedure:</strong> (make-timezone-locale DST-FLAG TZ-COMPONENTS)</dt>
    359359<dd>
    360 <p>Returns a timezone-locale object.</p>
    361 <p>A <tt>TZ-COMPONENTS</tt> object is as described by the <a href="locale.html">locale egg</a>.</p></dd>
     360<p>Use <code>(set-timezone-component! TZ-COMPONENTS 'dst? DST-FLAG)</code>.</p></dd>
    362361<dt class="definition"><strong>procedure:</strong> (timezone-locale? OBJ)</dt>
    363362<dd>
    364 <p>Is the <tt>OBJ</tt> a timezone-locale object?</p></dd></div></div></div>
     363<p>Use <code>(timezone-components? OBJ)</code>.</p></dd></div></div></div>
    365364<div class="subsection">
    366365<h4>Time Period</h4>
     
    489488<h3>Version</h3>
    490489<ul>
    491 <li>2.8.0 Timezone locale creation removed. Removed 'make-local-timezone-locale'.</li>
     490<li>2.8.1 Updated 'tai-utc.dat'.</li>
     491<li>2.8.0 Timezone locale creation removed. Removed 'make-local-timezone-locale'. Deprecated 'make-timezone-locale' &amp; 'timezone-locale?'.</li>
    492492<li>2.7.1 Fix for 'add/subtract-duration[!].</li>
    493493<li>2.7.0 Replaced date comparison w/ a field by field algorithm. Removed local-timezone-info, local-timezone-name, local-timezone-offset, and local-timezone-dst?.</li>
     
    522522<div class="section">
    523523<h3>License</h3>
    524 <pre>Copyright (c) 2005, Kon Lovett.  All rights reserved.
     524<pre>Copyright (c) 2005-2009, Kon Lovett.  All rights reserved.
    525525
    526526Permission is hereby granted, free of charge, to any person obtaining a
  • release/3/srfi-19/trunk/tai-utc.dat

    r8940 r13925  
    3636 1999 JAN  1 =JD 2451179.5  TAI-UTC=  32.0       S + (MJD - 41317.) X 0.0      S
    3737 2006 JAN  1 =JD 2453736.5  TAI-UTC=  33.0       S + (MJD - 41317.) X 0.0      S
     38 2009 JAN  1 =JD 2454832.5  TAI-UTC=  34.0       S + (MJD - 41317.) X 0.0      S
Note: See TracChangeset for help on using the changeset viewer.