Clean up RCS ids
[projects/cmucl/cmucl.git] / src / lisp / time.c
CommitLineData
eeab7066
RT
1/*
2
3 This code was written as part of the CMU Common Lisp project at
4 Carnegie Mellon University, and has been placed in the public domain.
5
6*/
0bf235de 7
8/* Time support routines that are easier to do in C then in lisp. */
9
10#include <stdio.h>
11#include <time.h>
12#include "lisp.h"
13
9a8c1c2f 14void
15get_timezone(time_t when, int *minwest, boolean * dst)
0bf235de 16{
17 struct tm ltm, gtm;
f610280a 18 int mw;
0bf235de 19
20 ltm = *localtime(&when);
21 gtm = *gmtime(&when);
22
9a8c1c2f 23 mw = ((gtm.tm_hour * 60) + gtm.tm_min) - ((ltm.tm_hour * 60) + ltm.tm_min);
f610280a 24 if ((gtm.tm_wday + 1) % 7 == ltm.tm_wday)
9a8c1c2f 25 mw -= 24 * 60;
f610280a 26 else if (gtm.tm_wday == (ltm.tm_wday + 1) % 7)
9a8c1c2f 27 mw += 24 * 60;
f610280a 28 *minwest = mw;
0bf235de 29 *dst = ltm.tm_isdst;
30}