redeclaration of err()
[unix-history] / usr / src / libexec / getty / get_date.c
CommitLineData
810b1430 1/*
9d72a529
KB
2 * Copyright (c) 1985 The Regents of the University of California.
3 * All rights reserved.
4 *
836fe169 5 * %sccs.include.redist.c%
810b1430
DF
6 */
7
166793b0 8#ifndef lint
836fe169 9static char sccsid[] = "@(#)get_date.c 5.4 (Berkeley) %G%";
9d72a529 10#endif /* not lint */
166793b0
RC
11
12#include <stdio.h>
13#include <sys/time.h>
14
15static char *days[] = {
16 "Sun", "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat"
17};
18
19static char *months[] = {
20 "Jan", "Feb", "Mar", "Apr", "May", "June",
21 "July", "Aug", "Sept", "Oct", "Nov", "Dec"
22};
23
24#define AM "am"
25#define PM "pm"
26
27get_date(datebuffer)
28 char *datebuffer;
29{
30 struct tm *localtime(), *tmp;
31 struct timeval tv;
32 int realhour;
33 char *zone;
34
35 gettimeofday(&tv, 0);
36 tmp = localtime(&tv.tv_sec);
37
38 realhour = tmp->tm_hour;
39 zone = AM; /* default to morning */
40 if (tmp->tm_hour == 0)
41 realhour = 12; /* midnight */
42 else if (tmp->tm_hour == 12)
43 zone = PM; /* noon */
44 else if (tmp->tm_hour >= 13 && tmp->tm_hour <= 23) { /* afternoon */
45 realhour = realhour - 12;
46 zone = PM;
47 }
48
49 /* format is '8:10pm on Sunday, 16 Sept 1973' */
50
9bd38ba8 51 (void)sprintf(datebuffer, "%d:%02d%s on %s, %d %s %d",
166793b0
RC
52 realhour,
53 tmp->tm_min,
54 zone,
55 days[tmp->tm_wday],
56 tmp->tm_mday,
57 months[tmp->tm_mon],
58 1900 + tmp->tm_year);
59}