|
|
1.1 ! root 1: .\" Copyright (c) 1980 Regents of the University of California. ! 2: .\" All rights reserved. The Berkeley software License Agreement ! 3: .\" specifies the terms and conditions for redistribution. ! 4: .\" ! 5: .\" @(#)ctime.3 6.9 (Berkeley) 9/30/87 ! 6: .\" ! 7: .TH CTIME 3 "September 30, 1987" ! 8: .UC 4 ! 9: .SH NAME ! 10: ctime, localtime, gmtime, asctime, timezone, tzset \- convert date and time to ASCII ! 11: .SH SYNOPSIS ! 12: .nf ! 13: .B void tzset() ! 14: .PP ! 15: .B char *ctime(clock) ! 16: .B time_t *clock; ! 17: .PP ! 18: .B #include <time.h> ! 19: .PP ! 20: .B char *asctime(tm) ! 21: .B struct tm *tm; ! 22: .PP ! 23: .B struct tm *localtime(clock) ! 24: .B time_t *clock; ! 25: .PP ! 26: .B struct tm *gmtime(clock) ! 27: .B time_t *clock; ! 28: .PP ! 29: .B char *timezone(zone, dst) ! 30: .fi ! 31: .fi ! 32: .SH DESCRIPTION ! 33: \fITzset\fP uses the value of the environment variable \fBTZ\fP to ! 34: set up the time conversion information used by \fIlocaltime\fP. ! 35: .PP ! 36: If \fBTZ\fP does not appear in the environment, the \fBTZDEFAULT\fP ! 37: file (as defined in \fItzfile.h\fP) is used by \fIlocaltime\fP. If ! 38: this file fails for any reason, the GMT offset as provided by the ! 39: kernel is used. In this case, DST is ignored, resulting in the time ! 40: being incorrect by some amount if DST is currently in effect. If ! 41: this fails for any reason, GMT is used. ! 42: .PP ! 43: If \fBTZ\fP appears in the environment but its value is a null string, ! 44: Greenwich Mean Time is used; if \fBTZ\fP appears and begins with a ! 45: slash, it is used as the absolute pathname of the \fItzfile\fP(5)-format ! 46: file from which to read the time conversion information; if \fBTZ\fP ! 47: appears and begins with a character other than a slash, it's used as ! 48: a pathname relative to the system time conversion information directory, ! 49: defined as \fBTZDIR\fP in the include file \fItzfile.h\fP. If this file ! 50: fails for any reason, the GMT offset as provided by the kernel is ! 51: used, as described above. If this fails for any reason, GMT is used. ! 52: .PP ! 53: Programs that always wish to use local wall clock time should explicitly ! 54: remove the environmental variable \fBTZ\fP with \fIunsetenv\fP(3). ! 55: .PP ! 56: \fICtime\fP converts a long integer, pointed to by \fIclock\fP, ! 57: such as returned by \fItime\fP(3), into ASCII and returns a pointer ! 58: to a 26-character string in the following form. All the fields ! 59: have constant width. ! 60: .PP ! 61: Sun Sep 16 01:03:52 1973\\n\\0 ! 62: .PP ! 63: .I Localtime ! 64: and ! 65: .I gmtime ! 66: return pointers to structures containing ! 67: the broken-down time. ! 68: .I Localtime ! 69: corrects for the time zone and possible daylight savings time; ! 70: .I gmtime ! 71: converts directly to GMT, which is the time UNIX uses. ! 72: .I Asctime ! 73: converts a broken-down time to ASCII and returns a pointer ! 74: to a 26-character string. ! 75: .PP ! 76: The structure declaration from the include file is: ! 77: .PP ! 78: .RS ! 79: .nf ! 80: .nr .0 .8i+\w'int tm_isdst'u ! 81: .ta .5i \n(.0u \n(.0u+\w'/* 0-000'u+1n ! 82: struct tm { ! 83: int tm_sec; /* 0-59 seconds */ ! 84: int tm_min; /* 0-59 minutes */ ! 85: int tm_hour; /* 0-23 hour */ ! 86: int tm_mday; /* 1-31 day of month */ ! 87: int tm_mon; /* 0-11 month */ ! 88: int tm_year; /* 0- year \- 1900 */ ! 89: int tm_wday; /* 0-6 day of week (Sunday = 0) */ ! 90: int tm_yday; /* 0-365 day of year */ ! 91: int tm_isdst; /* flag: daylight savings time in effect */ ! 92: char **tm_zone; /* abbreviation of timezone name */ ! 93: long tm_gmtoff; /* offset from GMT in seconds */ ! 94: }; ! 95: .fi ! 96: .RE ! 97: .PP ! 98: \fITm_isdst\fP is non-zero if a time zone adjustment such as Daylight ! 99: Savings time is in effect. ! 100: .PP ! 101: \fITm_gmtoff\fP is the offset (in seconds) of the time represented ! 102: from GMT, with positive values indicating East of Greenwich. ! 103: .PP ! 104: \fITimezone\fP remains for compatibility reasons only; it's impossible to ! 105: reliably map timezone's arguments (\fIzone\fP, a "minutes west of GMT" value ! 106: and \fIdst\fP, a "daylight saving time in effect" flag) to a time zone ! 107: abbreviation. ! 108: .PP ! 109: If the environmental string \fITZNAME\fP exists, \fItimezone\fP returns ! 110: its value, unless it consists of two comma separated strings, in which ! 111: case the second string is returned if \fIdst\fP is non-zero, else ! 112: the first string. If \fITZNAME\fP doesn't exist, \fIzone\fP is checked ! 113: for equality with a built-in table of values, in which case \fItimezone\fP ! 114: returns the time zone or daylight time zone abbreviation associated with ! 115: that value. If the requested \fIzone\fP does not appear in the table, the ! 116: difference from GMT is returned; e.g. in Afghanistan, ! 117: \fItimezone(-(60*4+30), 0)\fP is appropriate because it is 4:30 ahead of ! 118: GMT, and the string \fBGMT+4:30\fP is returned. Programs that in the ! 119: past used the \fItimezone\fP function should return the zone name as ! 120: set by \fIlocaltime\fP to assure correctness. ! 121: .SH FILES ! 122: .ta \w'/etc/zoneinfo/localtime\0\0'u ! 123: /etc/zoneinfo time zone information directory ! 124: .br ! 125: /etc/zoneinfo/localtime local time zone file ! 126: .SH SEE ALSO ! 127: gettimeofday(2), getenv(3), time(3), tzfile(5), environ(7) ! 128: .SH NOTE ! 129: The return values point to static data whose content is overwritten by ! 130: each call. The \fBtm_zone\fP field of a returned \fBstruct tm\fP ! 131: points to a static array of characters, which will also be overwritten ! 132: at the next call (and by calls to \fItzset\fP).
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.