Artifact
0ed24dcab852d75870d7ef57017a4141a49c5227:
0000: 0a 28 6c 69 62 72 61 72 79 20 28 73 72 66 69 20 .(library (srfi
0010: 73 31 39 20 74 69 6d 65 20 63 6f 6d 70 61 74 29 s19 time compat)
0020: 0a 0a 20 20 28 65 78 70 6f 72 74 20 66 6f 72 6d .. (export form
0030: 61 74 0a 20 20 20 20 20 20 20 20 20 20 68 6f 73 at. hos
0040: 74 3a 74 69 6d 65 2d 72 65 73 6f 6c 75 74 69 6f t:time-resolutio
0050: 6e 0a 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 n. host
0060: 3a 63 75 72 72 65 6e 74 2d 74 69 6d 65 20 0a 20 :current-time .
0070: 20 20 20 20 20 20 20 20 20 68 6f 73 74 3a 74 69 host:ti
0080: 6d 65 2d 6e 61 6e 6f 73 65 63 6f 6e 64 20 0a 20 me-nanosecond .
0090: 20 20 20 20 20 20 20 20 20 68 6f 73 74 3a 74 69 host:ti
00a0: 6d 65 2d 73 65 63 6f 6e 64 20 0a 20 20 20 20 20 me-second .
00b0: 20 20 20 20 20 68 6f 73 74 3a 74 69 6d 65 2d 67 host:time-g
00c0: 6d 74 2d 6f 66 66 73 65 74 29 0a 0a 20 20 28 69 mt-offset).. (i
00d0: 6d 70 6f 72 74 20 28 63 68 65 7a 73 63 68 65 6d mport (chezschem
00e0: 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 e). (pr
00f0: 65 66 69 78 20 28 6f 6e 6c 79 20 28 63 68 65 7a efix (only (chez
0100: 73 63 68 65 6d 65 29 0a 20 20 20 20 20 20 20 20 scheme).
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0120: 63 75 72 72 65 6e 74 2d 74 69 6d 65 0a 20 20 20 current-time.
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 74 69 6d 65 2d 6e 61 6e 6f 73 65 time-nanose
0150: 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 cond.
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d tim
0170: 65 2d 73 65 63 6f 6e 64 29 0a 20 20 20 20 20 20 e-second).
0180: 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 host
0190: 3a 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 68 :)).. (define h
01a0: 6f 73 74 3a 74 69 6d 65 2d 72 65 73 6f 6c 75 74 ost:time-resolut
01b0: 69 6f 6e 20 31 30 30 30 29 0a 0a 20 20 3b 3b 20 ion 1000).. ;;
01c0: 28 64 65 66 69 6e 65 20 28 68 6f 73 74 3a 74 69 (define (host:ti
01d0: 6d 65 2d 67 6d 74 2d 6f 66 66 73 65 74 20 74 29 me-gmt-offset t)
01e0: 0a 20 20 3b 3b 20 20 20 28 64 61 74 65 2d 7a 6f . ;; (date-zo
01f0: 6e 65 2d 6f 66 66 73 65 74 20 74 29 29 0a 0a 20 ne-offset t))..
0200: 20 28 64 65 66 69 6e 65 20 28 68 6f 73 74 3a 74 (define (host:t
0210: 69 6d 65 2d 67 6d 74 2d 6f 66 66 73 65 74 20 74 ime-gmt-offset t
0220: 29 0a 20 20 20 20 28 64 61 74 65 2d 7a 6f 6e 65 ). (date-zone
0230: 2d 6f 66 66 73 65 74 20 28 74 69 6d 65 2d 75 74 -offset (time-ut
0240: 63 2d 3e 64 61 74 65 20 74 29 29 29 0a 20 20 20 c->date t))).
0250: 20 0a 20 20 29 0a . ).