Roland,

You're an optimistic guy. Dates to 2041 :)


Billy
---- "Roland P. Chung" <[email protected]> wrote: 
> Thanks a lot Mike. Works wonder. Here is my contribution: 2 files based on 
> EST and EDT for VM & VSE.
>  
> ....Rolly
> 
> --- On Thu, 10/15/09, Mike Walter <[email protected]> wrote:
> 
> 
> From: Mike Walter <[email protected]>
> Subject: Re: Daylight Saving Time change
> To: [email protected]
> Received: Thursday, October 15, 2009, 3:50 PM
> 
> 
> > ...Rolly
> >
> >Oh, BTW, any one has the time change dates for 2009 - 201x? TIA.
> 
> Run the TZDATES EXEC pasted below.
> 
> Mike Walter
> Hewitt Associates
> The opinions expressed herein are mine alone, not my employer's.
> 
> /* Prolog; See Epilog for additional information ********************
> * Exec Name     - TZDATES  EXEC                                    *
> * Unit Support  - OSS/VM                                           *
> * Status        - Version 2, Release 1.0                           *
> ********************************************************************/
> 
>    address 'COMMAND'
>    parse source xos xct xfn xft xfm xcmd xenvir .
>    parse upper arg parms 1 operands '(' options ')' parmrest
> 
>    If operands='?' then Signal Explain
>    parse var operands tz .
>    If tz='' then tz='C'
>    ltz=length(tz)
>    If ltz<>1 then
>       Do
>         say xfn'; Invalid timezone character, length not "1".' ,
>                'Found "'tzc'".'
>         say 'For more help, issue:' xfn '?'
>         Call Exit 20
>       End
> 
>    resultfile=xfn 'BOUNDS A'
>   'FINIS' resultfile
>   'ERASE' resultfile
> 
>    Signal ON Error
>    Do ix=2007 to 2041        /* What years do we want to cover?      */
>       /* As of 2005-09-27, dates beginning in 2042 cause error msg:  */
>       /* HCPZPM6706E Invalid date - 2042-mm-dd                       */
>       /* There's time for an APAR before then...                     */
>       spring=GetSpring(ix)
>       fall  =GetFall(ix)
>      'EXECIO 1 DISKW' resultfile '0 F 80 (STRING' spring
>      'EXECIO 1 DISKW' resultfile '0 F 80 (STRING' fall
>    End
>   'FINIS' resultfile
>    say xfn 'results are now contained in file:' resultfile
> Call Exit rc
> 
> /********************************************************************/
> /*                   Sub-Routines below this point                  */
> /********************************************************************/
> 
> Exit:
>    parse arg exitrc .
>    If verify(exitrc,'-0123456789')=0 then Exit exitrc
>                                      else Exit 999999
> 
> 
> GetSpring:
>    parse arg year .
>    /* Find 1st Sunday in March, beginning in 2007 per the:           */
>    /* "U.S. Government Energy Policy Act of 2005".                   */
>    Do dx=year||0301 by 1 for 7 until dow='Sunday'
>       dow=date('W',dx,'S')
>    End
>    dx=dx+7   /* Ooooh, easy date math! Add 14 for 2nd Sunday in March*/
>    spring='Timezone_Boundary on' ,
>            date('S',dx,'S','-') ,     /* In yyyy-mm-dd fmt           */
>           'at 02:00:00 to' tz'DT'     /* Change to Daylight Time     */
> Return spring
> 
> 
> GetFall:
>    parse arg year .
>    /* Find 1st Sunday in November beginning in 2007 per the:         */
>    /* "U.S. Government Energy Policy Act of 2005".                   */
>    Do dx=year||1101 by 1 for 7
>       If date('W',dx,'S')<>'Sunday' then Iterate
>       Return 'Timezone_Boundary on' ,
>               date('S',dx,'S','-') ,  /* In yyyy-mm-dd fmt           */
>              'at 02:00:00 to' tz'ST'  /* Change to Standard Time     */
>    End
> Return
> 
> 
> Error:
>    say '+++ "ERROR" error routine entered in:' xfn xft xfm', rc='rc
>    say '+++ from line:' sigl', which reads:'
>    say '+++'sourceline(sigl)
> Exit 20
> 
> 
> Syntax:
>    say '+++ "SYNTAX" error routine entered in:' xfn xft xfm', rc='rc
>    say '+++ from line:' sigl', which reads:'
>    say '+++'sourceline(sigl)
> Call Exit 20
> 
> 
> NoValue:
>    say '+++ "NoValue" error routine entered in:' xfn xft xfm', rc='rc
>    say '+++ from line:' sigl', which reads:'
>    say '+++'sourceline(sigl)
>    say '+++ Variable with no value is:' condition('Description')
> Call Exit 24
> 
> 
> Explain:
>   'PIPE (NAME Explain)' ,
>      '| <' xfn xft xfm ,
>      '| INSIDE /ExplainBegin:/ /ExplainEnd:/' ,
>      '| PREFACE STRLITERAL /'xfn xft xfm 'help.../' ,
>      '| CONSOLE'
>    Call Exit 0
> /*
> ExplainBegin:
> 
> Unless changed, TZDATES will produce a file suitable for inclusion in
> "SYSTEM CONFIG" on MAINT's CF1, CF2, etc. disks to define the Spring and
> Fall Daylight/Standard timezones.
> 
> 
> 
>             +-C--------+
> >>-TZDATES--+----------+-----------------------------------------------><
>             +-timezone-+
>             +-?--------+
> 
> Where:
> 
> timezone
>           is the first character of the timezone to preface "DT" or
>           "ST".  Default="C", as in "CST" and "CDT".
> 
> ?
>           displays this command help.
> 
> ExplainEnd:
> */
> 
> /* Epilog ***********************************************************
> * Function      - See "Explain:" subrtn above.                     *
> * Component of  - z/VM Sysprog's Toolbox.                          *
> * Command format- See "Explain:" subrtn above.                     *
> * Called by     - Prepared z/VM Sysprogs.                          *
> * Dependencies  - VM/ESA                                           *
> * Program Lang. - CMS REXX                                         *
> * Date Written  - ?                                                *
> * Author        - Michael R. Walter                                *
> * Changed | By  | Description of Change                            *
> * --------+-----+------------------------------------------------- *
> * 20070301  mrw - Update for 2007 US gov't timezone changes.       *
> *                                                                  *
> ********************************************************************/
> 
> 
> 
> The information contained in this e-mail and any accompanying documents may 
> contain information that is confidential or otherwise protected from 
> disclosure. If you are not the intended recipient of this message, or if this 
> message has been addressed to you in error, please immediately alert the 
> sender by reply e-mail and then delete this message, including any 
> attachments. Any dissemination, distribution or other use of the contents of 
> this message by anyone other than the intended recipient is strictly 
> prohibited. All messages sent to and from this e-mail address may be 
> monitored as permitted by applicable law and regulations to ensure compliance 
> with our internal policies and to protect our business. E-mails are not 
> secure and cannot be guaranteed to be error free as they can be intercepted, 
> amended, lost or destroyed, or contain viruses. You are deemed to have 
> accepted these risks if you communicate with us by e-mail. 

Reply via email to