Example (tzset -- Assign Values to Locale Information)

This example uses putenv and tzset to set the time zone to Central Time.

    #include <time.h>
    #include <stdio.h>
    #include <stdlib.h>

    int main(void)
    {
       time_t currentTime;
       struct tm *ts;

       /* Get the current time                                                    */

       (void)time(&currentTime);
       printf("The GMT time is %s", asctime(gmtime(&currentTime)));
       ts = localtime(&currentTime);
       if (ts->tm_isdst > 0)  /* check if Daylight Saving Time is in effect       */
          {
          printf("The local time is %s", asctime(ts));
          printf("Daylight Saving Time is in effect.\n");
       }
       else {
          printf("The local time is %s", asctime(ts));
          printf("Daylight Saving Time is not in effect.\n");
       }
       printf("**** Changing to Central Time ****\n");
       putenv("TZ=CST6CDT");
       tzset();
       ts = localtime(&currentTime);
       if (ts->tm_isdst > 0)  /* check if Daylight Saving Time is in effect       */
          {
          printf("The local time is %s", asctime(ts));
          printf("Daylight Saving Time is in effect.\n");
       }
       else {
          printf("The local time is %s", asctime(ts));
          printf("Daylight Saving Time is not in effect.\n");
       }

       return 0;

       /****************************************************************************
          The output should be similar to:

          The GMT time is Fri Jan 13 21:49:26 1995
          The local time is Fri Jan 13 16:49:26 1995
          Daylight Saving Time is not in effect.
          **** Changing to Central Time ****
          The local time is Fri Jan 13 15:49:26 1995
          Daylight Saving Time is not in effect.
       ****************************************************************************/
    }