From: rmeyer@ufobi2.uni-forst.gwdg.de (Reinhold Meyer)
Subject: Re: Sommer-/Winterzeit
Organization: Forstliche Biometrie UNIGOE
Date: 14 Sep 92 08:02:30 GMT

In article <1992Sep13.010656.167@xblank.abg.sub.org>, root@xblank.abg.sub.org (Markus Rieder) writes:
> 
> Hallo!
> 
> Hat jemand eine Batch die das Umschalten von Sommer-/Winterzeit auf ner
> VAX (VMS 5.5) erledigt?
> 
> Ich denk mir das das Teil im Hintergrund mitlaeuft und immer wenn's noetig ist
> eine Stunde hin oder her schaltet...
> 
> Waer nicht schlecht wenn das Rad schon einer erfunden haette...  :-))

Anleitung: Beim SUBMIT den fuer Dein System gueltigen  Queue Namen einsetzen,
           $ submit 'sommer_winter_zeit' /para=WINTERZEIT /after="27-sep 3:0"
           und nie wieder an die Zeitumstellung denken :-)))

$!
$!
$!  Einstellen der Systemzeit auf Sommer- bzw. Winterzeit
$!
$!  RME  17-SEP-1989 10:53:56 
$!
$!  P1 = ""            Starten der Jobs fuer Sommer und Winterzeit
$!  P1 = "SOMMERZEIT"  Systemuhr 1 Stunde vorstellen
$!  P1 = "WINTERZEIT"  Systemuhr 1 Stunde zurueckstellen und Neustart
$!
$!
$ if p1 .eqs. "SOMMERZEIT" then goto sommerzeit
$ if p1 .eqs. "WINTERZEIT" then goto winterzeit
$!
$! Starten der Jobs
$!
$ set proc/priv=all
$ today = f$time()
$ this_month = f$cvtime(today,"ABSOLUTE","MONTH")
$ if this_month .eqs. "JAN" then goto this_year
$ if this_month .eqs. "FEB" then goto this_year
$ if this_month .eqs. "MAR" then goto this_year
$ year = f$cvtime(today,"ABSOLUTE","YEAR")
$ iyear = f$integer(year)
$ iyear = iyear + 1
$ goto year_ok
$!
$ this_year:
$ year = f$cvtime(today,"ABSOLUTE","YEAR")
$ iyear = f$integer(year)
$!
$ year_ok:
$!
$ start_sommerzeit = "31-MAR-''iyear'"
$ start_winterzeit = "30-SEP-''iyear'"
$!
$ set_start_sommerzeit:
$ if f$cvtime(start_sommerzeit,"ABSOLUTE","WEEKDAY") .eqs. "Sunday" then -
                                             goto start_sommerzeit_ok
$ start_sommerzeit = f$cvtime("''start_sommerzeit'-1-0","ABSOLUTE","DATE")
$ goto set_start_sommerzeit
$!
$ start_sommerzeit_ok:
$!
$!
$ set_start_winterzeit:
$ if f$cvtime(start_winterzeit,"ABSOLUTE","WEEKDAY") .eqs. "Sunday" then -
                                             goto start_winterzeit_ok
$ start_winterzeit = f$cvtime("''start_winterzeit'-1-0","ABSOLUTE","DATE")
$ goto set_start_winterzeit
$!
$ start_winterzeit_ok:
$!
$!
$ this_file = f$environment("PROCEDURE")
$ submit 'this_file' /nolog /que=bat$sys_jobs /par=("SOMMERZEIT") -
           /after="''start_sommerzeit' 2:0:0" /name="Sommerzeit"
$ submit 'this_file' /nolog /que=bat$sys_jobs /par=("WINTERZEIT") -
           /after="''start_winterzeit' 3:0:0" /name="Winterzeit"
$ exit
$!
$!
$ sommerzeit:
$!
$!
$!
$!  Stellt die Uhr eine Stunde vor
$!
$!  RME   23-SEP-1988 14:06:48 
$!
$!
$ set proc/priv=all
$ request "Start der Sommerzeit"
$ itime = f$time()
$ newtime = f$cvtime("''itime'+1:0:0","absolute","time")
$ set time='newtime'
$ request "Systemuhr auf Sommerzeit eingestellt"
$ exit
$!
$!
$!
$ winterzeit:
$!
$!
$!
$!
$!  Stellt die Uhr eine Stunde zurueck
$!
$!  RME   23-SEP-1988 14:06:48 
$!
$!
$ set proc/priv=all
$ request "Start der Winterzeit"
$ itime = f$time()
$ newtime = f$cvtime("''itime'-1:0:0","absolute","time")
$ set time='newtime'
$ request "Systemuhr auf Winterzeit eingestellt"
$!
$ this_file = f$environment("PROCEDURE")
$ @'this_file'              ! Submitten fuer naechstes Jahr
$ exit

Dies Verfahren ist nur bei Systemen zu empfehlen, die nachts nicht viel
zu tun haben, da beim Accounting Probleme auftreten koennten. 


 
--------------------------------------------------------------------------------
Reinhold Meyer       Abt. Forstliche Biometrie u. Informatik   Buesgenweg 4
                                                               W-3400 Goettingen
                                       Internet: rmeyer@ufobi2.uni-forst.gwdg.de
Newsgroups: de.comp.os.vms