;ELC   
;;; Compiled by amu@quiche-lorraine.mit.edu on Thu Jan  6 19:18:20 2000
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.8.3/lisp/time-date.el
;;; in Emacs version 20.4.1
;;; with bytecomp version 2.56
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`time-date.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(require 'parse-time)
#@25 Convert DATE into time.
(defalias 'date-to-time #[(date) "\300\301\302\217\207" [nil (byte-code "\301\302\303!\"\207" [date apply encode-time parse-time-string] 4) ((error (error "Invalid date: %s" date)))] 3 (#$ . 667)])
#@42 Convert TIME to a floating point number.
(defalias 'time-to-seconds #[(time) "@\301_A@\\AA@\206 \302\303\245\\\207" [time 65536.0 0 1000000.0] 3 (#$ . 896)])
#@71 Convert SECONDS (a floating point number) to an Emacs time structure.
(defalias 'seconds-to-time #[(seconds) "\301\302\"\301\303\302\"!\301\304!Z\305_!E\207" [seconds floor 65536 mod ffloor 1000000] 6 (#$ . 1064)])
#@43 Say whether time T1 is less than time T2.
(defalias 'time-less-p #[(t1 t2) "@	@W\206 @	@U\205 A@	A@W\207" [t1 t2] 2 (#$ . 1289)])
#@25 Convert DAYS into time.
(defalias 'days-to-time #[(days) "\304_\305_\306\307\310\"\311\312\313\217\211\311\314\315\217+D\207" [days seconds rest ms 1.0 86400 expt 2 16 nil (byte-code "\302	\245!\207" [seconds rest floor] 3) ((range-error (expt 2 16))) (byte-code "\303	\n_Z!\207" [seconds ms rest round] 4) ((range-error (expt 2 16)))] 5 (#$ . 1430)])
#@73 Return the time since TIME, which is either an internal time or a date.
(defalias 'time-since #[(time) ";\203	 \303!\304 \211A@A@W\205 \305\306\307\"	@\n\203% \310\202& \311\\@Z\n\206/ \311	A@\\A@Z*D\207" [time current rest date-to-time current-time expt 2 16 -1 0] 4 (#$ . 1794)])
#@30 Subtract two internal times.
(defalias 'subtract-time #[(t1 t2) "A@	A@W@	@Z\n\203 \303\202 \304Z\n\203 \305\202  \304A@\\	A@Z)D\207" [t1 t2 borrow 1 0 65536] 3 (#$ . 2091)])
#@52 Return the number of days between year 1 and DATE.
(defalias 'date-to-day #[(date) "\301\302!!\207" [date time-to-days date-to-time] 3 (#$ . 2278)])
#@52 Return the number of days between DATE1 and DATE2.
(defalias 'days-between #[(date1 date2) "\302!\302	!Z\207" [date1 date2 date-to-day] 3 (#$ . 2434)])
#@34 Return t if YEAR is a leap year.
(defalias 'date-leap-year-p #[(year) "\301\246\302U\203 \303\246\302U?\206 \304\246\302U\207" [year 4 0 100 400] 2 (#$ . 2593)])
#@67 Return the day number within the year of the date month/day/year.
(defalias 'time-to-day-in-year #[(time) "\306!\307	8\310	8\311	8\nS\312_\\\n\313V\2030 \n\307_\314\\\315\245Z\316\f!\2030 T-\207" [time tim month day year day-of-year decode-time 4 3 5 31 2 23 10 date-leap-year-p] 3 (#$ . 2766)])
#@130 The number of days between the Gregorian date 0001-12-31bce and TIME.
The Gregorian date Sunday, December 31, 1bce is imaginary.
(defalias 'time-to-days #[(time) "\305!\306	8\307	8\310	8\311!\fS\312_\\\fS\306\245\\\fS\313\245[\\\fS\314\245\\,\207" [time tim month day year decode-time 4 3 5 time-to-day-in-year 365 100 400] 3 (#$ . 3081)])
#@93 Parse DATE and return a time structure.
If DATE is malformed, a zero time will be returned.
(defalias 'safe-date-to-time #[(date) "\300\301\302\217\207" [nil (date-to-time date) ((error '(0 0)))] 3 (#$ . 3433)])
(provide 'time-date)
