Mercurial > hg > xemacs-beta
comparison lisp/hyperbole/htz.el @ 100:4be1180a9e89 r20-1b2
Import from CVS: tag r20-1b2
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:15:11 +0200 |
parents | 131b0175ea99 |
children |
comparison
equal
deleted
inserted
replaced
99:2d83cbd90d8d | 100:4be1180a9e89 |
---|---|
4 ;; SUMMARY: Timezone-based time and date support for Hyperbole. | 4 ;; SUMMARY: Timezone-based time and date support for Hyperbole. |
5 ;; USAGE: GNU Emacs Lisp Library | 5 ;; USAGE: GNU Emacs Lisp Library |
6 ;; KEYWORDS: calendar, hypermedia | 6 ;; KEYWORDS: calendar, hypermedia |
7 ;; | 7 ;; |
8 ;; AUTHOR: Masanobu UMEDA / Bob Weiner | 8 ;; AUTHOR: Masanobu UMEDA / Bob Weiner |
9 ;; ORG: Fujitsu Laboratories LTD. / Brown U. | 9 ;; ORG: Fujitsu Laboratories LTD. / InfoDock Associates |
10 ;; | 10 ;; |
11 ;; ORIG-DATE: 14-Oct-91 at 07:22:08 | 11 ;; ORIG-DATE: 14-Oct-91 at 07:22:08 |
12 ;; LAST-MOD: 7-Jul-95 at 14:59:51 by Bob Weiner | 12 ;; LAST-MOD: 20-Feb-97 at 12:21:10 by Bob Weiner |
13 ;; | 13 ;; |
14 ;; This file is part of Hyperbole. | 14 ;; This file is part of Hyperbole. |
15 ;; Available for use and distribution under the same terms as GNU Emacs. | 15 ;; Available for use and distribution under the same terms as GNU Emacs. |
16 ;; | 16 ;; |
17 ;; Copyright (C) 1991-1995, Free Software Foundation, Inc. | 17 ;; Copyright (C) 1991-1995, 1997 Free Software Foundation, Inc. |
18 ;; Developed with support from Motorola Inc. | 18 ;; Developed with support from Motorola Inc. |
19 ;; | 19 ;; |
20 ;; Adapted from Timezone package for GNU Emacs | 20 ;; Adapted from Timezone package for GNU Emacs |
21 ;; Copyright(C) 1990 Masanobu UMEDA (umerin@mse.kyutech.ac.jp) | 21 ;; Copyright(C) 1990 Masanobu UMEDA (umerin@mse.kyutech.ac.jp) |
22 ;; $Header: /afs/informatik.uni-tuebingen.de/local/web/xemacs/xemacs-cvs/XEmacs/xemacs/lisp/hyperbole/Attic/htz.el,v 1.1.1.1 1996/12/18 22:43:15 steve Exp $ | 22 ;; $Header: /afs/informatik.uni-tuebingen.de/local/web/xemacs/xemacs-cvs/XEmacs/xemacs/lisp/hyperbole/Attic/htz.el,v 1.2 1997/02/24 01:13:35 steve Exp $ |
23 ;; | 23 ;; |
24 ;; DESCRIPTION: | 24 ;; DESCRIPTION: |
25 ;; | 25 ;; |
26 ;; All date parsing functions accept the output of any other parsing | 26 ;; All date parsing functions accept the output of any other parsing |
27 ;; function as input, so one can convert to a sortable date format, do a | 27 ;; function as input, so one can convert to a sortable date format, do a |
70 timezone))) | 70 timezone))) |
71 | 71 |
72 (defun htz:date-parse (date &optional parsed-current-date) | 72 (defun htz:date-parse (date &optional parsed-current-date) |
73 "Parse DATE string and return a vector [year month day time timezone]. | 73 "Parse DATE string and return a vector [year month day time timezone]. |
74 19 is prepended to year if necessary. Timezone in DATE is optional, it | 74 19 is prepended to year if necessary. Timezone in DATE is optional, it |
75 defaults to the value of htz:local. | 75 defaults to the value of `htz:local'. |
76 | 76 |
77 Recognizes the following styles: | 77 Recognizes the following styles: |
78 (1) 14 Apr 89 03:20[:12] [GMT] | 78 (1) 14 Apr 89 03:20[:12] [GMT] |
79 (2) Fri, 17 Mar [19]89 4:01[:33] [GMT] | 79 (2) Fri, 17 Mar [19]89 4:01[:33] [GMT] |
80 (3) Mon Jan 16 16:12[:37] [GMT] 1989 | 80 (3) Mon Jan 16 16:12[:37] [GMT] 1989 |
190 | 190 |
191 (defun htz:date-unix (&optional date local timezone) | 191 (defun htz:date-unix (&optional date local timezone) |
192 "Convert DATE or current date to a unix standard date. | 192 "Convert DATE or current date to a unix standard date. |
193 Optional 1st argument LOCAL specifies the local timezone of the DATE (default | 193 Optional 1st argument LOCAL specifies the local timezone of the DATE (default |
194 is the timezone embedded in the date or if there is none, then the value of | 194 is the timezone embedded in the date or if there is none, then the value of |
195 the variable, htz:local). Optional 2nd argument TIMEZONE specifies the | 195 `htz:local'). Optional 2nd argument TIMEZONE specifies the timezone in which |
196 timezone in which the date is returned; it defaults to the value of | 196 the date is returned; it defaults to the value of `htz:local'." |
197 htz:local." | |
198 (or (vectorp date) | 197 (or (vectorp date) |
199 (setq date (htz:date-parse (or date (current-time-string))))) | 198 (setq date (htz:date-parse (or date (current-time-string))))) |
200 (or local (setq local (or (aref date 4) htz:local))) | 199 (or local (setq local (or (aref date 4) htz:local))) |
201 (let* ((year (string-to-int (aref date 0))) | 200 (let* ((year (string-to-int (aref date 0))) |
202 (month (string-to-int (aref date 1))) | 201 (month (string-to-int (aref date 1))) |