|
Hi Troy You would need to program aroud it to achieve what you want. I would store a time zone adjustment for each user in a different time zone to the AS/400 and then use a sub-procedure in a service program to adjust the timestamp whenever you need to. The following should work for you: Physical File (TZFILE) ======= A R TZRECORD A* A TZUSER 10 A TZADJ 4S 0 A* A K TZUSER Service Program (TZPROC) ========== * ************************************************************************ * * Procedure: TimeZone - Return users local time according to their * * "time zone" * ************************************************************************ H NoMain Option(*NoDebugIo:*SrcStmt) FTZFile IF E K Disk D PgmDs SDS D CurrentUser 254 263 D TimeZone pr z D TimeZoneUser 10 * ------------------------------------------------------------------------ P TimeZone b Export D TimeZone pi z D TimeZoneUser 10 D CurrentTime s z D Hrs s 2S 0 D Mins s 2S 0 * Retrieve the current system date and time (Timestamp)... C Time CurrentTime * Check the TimeZone user file to see if a record exists... C TimeZoneUser Chain(E) TZFile * If no record found then the time zone offset will be zero... C If %Found * Note, the TimeZone adjustment is in HHMM form and is the adjustment to * the "local" system time, not GMT/UCT... C Eval Hrs = TzAdj / 100 C Eval Mins = TzAdj - (Hrs * 100) C AddDur Hrs :*Hours CurrentTime C AddDur Mins:*Minutes CurrentTime C EndIf C Return CurrentTime P TimeZone e Usage Example (TZTEST) ========= * Define work variables... D WorkTime s z D User1 s 10 Inz('TOM') D User2 s 10 Inz('DICK') D User3 s 10 Inz('HARRY') D User4 s 10 Inz('FRED') * Procedure Prototype... D TimeZone pr z D TimeZoneUser 10 * Get Current Time and display it... C Time WorkTime C WorkTime Dsply * Get Time in Tom's time zone it... C Eval WorkTime = TimeZone(User1) C WorkTime Dsply * Get Time in Dick's time zone it... C Eval WorkTime = TimeZone(User2) C WorkTime Dsply * Get Time in Harry's time zone it... C Eval WorkTime = TimeZone(User3) C WorkTime Dsply * Get Time in Fred's time zone it... C Eval WorkTime = TimeZone(User4) C WorkTime Dsply C Eval *INLR = *ON C Return Results ===== If file TZFILE holds the following records: TZUSER TZADJ DICK 100- HARRY 600- TOM 200 Then the results would be: DSPLY 2004-11-08-14.47.28.580000 (Current System Time) DSPLY 2004-11-08-16.47.29.940000 (Tom - In time zone +02:00) DSPLY 2004-11-08-13.47.30.519000 (Dick - In time zone -01:00) DSPLY 2004-11-08-08.47.31.335000 (Harry - In time zone -06:00) DSPLY 2004-11-08-14.47.31.925000 (Fred - In same time zone as AS/400) Note, the TZADJ field is in HHMM format and is relative to the time zone that the AS/400's clock is set to. Hope that helps best regards Jonathan www.astradyne-uk.com -----Original message----- From: T.Bryant@xxxxxxxxxxxxxx Date: Mon, 8 Nov 2004 05:55:22 +0000 To: RPG programming on the AS400 / iSeries rpg400-l@xxxxxxxxxxxx Subject: Different Time Zones. > Currently in Australia our machine is having to deal with five different > time zones. > Is it possible to setup multiple time zones on the system? > > So that code like this; > > C TIME VHFINT > > won't have to be changed when run by a user in another time zone. > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Troy Bryant > Analyst Programmer > Patrick Autocare. > Phone: +61 03 9926 9913 > Fax: +61 03 9926 9977 > Mobile: +61 0408 397 333 > T.Bryant@xxxxxxxxxxxxxx > -- > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > or email: RPG400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > Jonathan Mason www.astradyne-uk.com
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.