tzset()
Set the time according to the current time zone
Synopsis:
#include <time.h>
void tzset( void );
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The tzset() function sets the global variables daylight, timezone and tzname according to the value of the TZ environment variable, or to the value of the _CS_TIMEZONE configuration string if TZ isn't set, or to UTC0 if neither is set.
The global variables have the following values after tzset() is executed:
- daylight
- Zero indicates that daylight saving time isn't supported in the locale; a nonzero value indicates that daylight saving time is supported in the locale. This variable is cleared or set after a call to the tzset() function, depending on whether or not a daylight saving time abbreviation is specified in the TZenvironment variable.
- timezone
- The number of seconds that the local time zone is earlier than Coordinated Universal Time (UTC) (formerly known as Greenwich Mean Time (GMT)).
- tzname
- A two-element array pointing to strings giving the abbreviations for the name of the time zone when standard and daylight saving time are in effect.
The time that you set on the computer with the
date
command reflects Coordinated Universal Time (UTC).
The environment variable TZ is used to establish the local time zone.
For more information, see
Setting the time zone
in the Configuring Your Environment chapter of the QNX OS User's Guide.
Examples:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void print_zone()
{
char *tz;
printf( "TZ: %s\n", (tz = getenv( "TZ" ))
? tz : "default EST5EDT" );
printf( " daylight: %d\n", daylight );
printf( " timezone: %ld\n", timezone );
printf( " time zone names: %s %s\n",
tzname[0], tzname[1] );
}
int main( void )
{
tzset();
print_zone();
setenv( "TZ", "PST8PDT", 1 );
tzset();
print_zone();
return EXIT_SUCCESS;
}
produces the output:
TZ: default EST5EDT
daylight: 1
timezone: 18000
time zone names: EST EDT
TZ: PST8PDT
daylight: 1
timezone: 28800
time zone names: PST PDT
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | No |
Thread | Yes |