ctime.3 (2109B)
1 .TH CTIME 3 2 .SH NAME 3 ctime, localtime, gmtime, asctime, tm2sec \- convert date and time 4 .SH SYNOPSIS 5 .B #include <u.h> 6 .br 7 .B #include <libc.h> 8 .PP 9 .ta \w'\fLchar* 'u 10 .B 11 char* ctime(long clock) 12 .PP 13 .B 14 Tm* localtime(long clock) 15 .PP 16 .B 17 Tm* gmtime(long clock) 18 .PP 19 .B 20 char* asctime(Tm *tm) 21 .PP 22 .B 23 long tm2sec(Tm *tm) 24 .SH DESCRIPTION 25 .I Ctime 26 converts a time 27 .I clock 28 such as returned by 29 .MR time (3) 30 into 31 .SM ASCII 32 (sic) 33 and returns a pointer to a 34 30-byte string 35 in the following form. 36 All the fields have constant width. 37 .PP 38 .B 39 Wed Aug 5 01:07:47 EST 1973\en\e0 40 .PP 41 .I Localtime 42 and 43 .I gmtime 44 return pointers to structures containing 45 the broken-down time. 46 .I Localtime 47 corrects for the time zone and possible daylight savings time; 48 .I gmtime 49 converts directly to GMT. 50 .I Asctime 51 converts a broken-down time to 52 .SM ASCII 53 and returns a pointer 54 to a 30-byte string. 55 .IP 56 .EX 57 .ta 6n +\w'char 'u +\w'zone[4]; 'u 58 typedef 59 struct { 60 int sec; /* seconds (range 0..59) */ 61 int min; /* minutes (0..59) */ 62 int hour; /* hours (0..23) */ 63 int mday; /* day of the month (1..31) */ 64 int mon; /* month of the year (0..11) */ 65 int year; /* year A.D. \- 1900 */ 66 int wday; /* day of week (0..6, Sunday = 0) */ 67 int yday; /* day of year (0..365) */ 68 char zone[4]; /* time zone name */ 69 int tzoff; /* time zone delta from GMT */ 70 } Tm; 71 .EE 72 .PP 73 .I Tm2sec 74 converts a broken-down time to 75 seconds since the start of the epoch. 76 It ignores 77 .BR wday , 78 and assumes the local time zone 79 if 80 .B zone 81 is not 82 .BR GMT . 83 .SH SOURCE 84 .B \*9/src/lib9/ctime.c 85 .br 86 .B \*9/src/lib9/tm2sec.c 87 .SH "SEE ALSO" 88 .MR date (1) , 89 .MR time (3) 90 .SH BUGS 91 The return values point to static data 92 whose content is overwritten by each call. 93 .PP 94 Daylight Savings Time is ``normal'' in the Southern hemisphere. 95 .PP 96 These routines are not equipped to handle non-\c 97 .SM ASCII 98 text, and are provincial anyway. 99 .PP 100 To avoid name conflicts with the underlying system, 101 .IR ctime , 102 .IR localtime , 103 .IR gmtime , 104 .IR asctime , 105 and 106 .I tm2sec 107 are preprocessor macros defined as 108 .IR p9ctime , 109 .IR p9localtime , 110 .IR p9gmtime , 111 .IR p9asctime , 112 and 113 .IR p9tm2sec ; 114 see 115 .MR intro (3) .