IBM Support

PM17052: CTIME() AND LOCALTIME() RETURN AN INCORRECT DATE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The ctime() and localtime() functions might return an incorrect
    date for the local time zones East of Greenwich, when the time
    difference between the local time and the GMT is obtained from
    the system. This happens only, when all of the following
    conditions are met:
    
    1. The C program is compiled and linked in the 64-bit mode.
    2. The program is running with POSIX(OFF).
    3. _TZ is not specified.
    
    The problem occurs, when the local date is one day after the GMT
    date, when the program starts running (such as just after the
    midnight local time in the affected time zones). The date
    returned by these functions will be two days before the correct
    local date.
    

Local fix

  • If possible specify TZ (for POSIX(ON)) or _TZ (for POSIX(OFF)).
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Non-Posix, AMODE 64 applications calling     *
    *                 C/C++ run-time interfaces() that work with   *
    *                 local time values (e.g. ctime(), mktime(),   *
    *                 localtime(), syslog()).                      *
    ****************************************************************
    * PROBLEM DESCRIPTION: A service routine in the C/C++          *
    *                      run-time library calculates the         *
    *                      difference between the local time       *
    *                      and the UTC time.  When one of these    *
    *                      values has passed midnight and the      *
    *                      other has not, the routine must         *
    *                      adjust for the difference in date.      *
    *                                                              *
    *                      An incorrect adjustment in the          *
    *                      AMODE 64 version of the routine causes  *
    *                      local time to differ from UTC by two    *
    *                      days rather than match the UTC date.    *
    *                      The error occurs during execution when  *
    *                      the local time in zones east of         *
    *                      Greenwich passes midnight, before UTC   *
    *                      has reached midnight.                   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    See Problem Description.
    

Problem conclusion

  • The service routine has been modified to adjust the date
    properly in all cases when the local time and UTC time
    values fall on opposite sides of midnight.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM17052

  • Reported component name

    LE FOR MVS & VM

  • Reported component ID

    568819801

  • Reported release

    750

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2010-06-23

  • Closed date

    2010-08-19

  • Last modified date

    2010-10-02

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UK59817 UK59818 UK59819

Modules/Macros

  • CELHTZNM CELQTZNM EDC40197
    

Fix information

  • Fixed component name

    LE C LIBRARY

  • Fixed component ID

    568819805

Applicable component levels

  • R750 PSY UK59817

       UP10/09/02 P F009

  • R760 PSY UK59818

       UP10/09/01 P F008

  • R770 PSY UK59819

       UP10/09/01 P F008

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVSBD","label":"Runtime"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"750","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"750","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"750","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 October 2010