|
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Joe Pluta
Sent: Tuesday, April 29, 2008 12:55 PM
To: RPG programming on the AS400 / iSeries
Subject: Re: Problem calculating differences
Wilt, Charles wrote:
Ok Joe,Did you try it? My guess is it may not work. Also, your version gives
Here's what I'd do.
results = (%diff(z'1970-01-01-00.00.00': z'2000-01-01-00.00.00'))* 1000
+ (%diff(z'2000-01-01-00.00.00': %timestamp()))*1000;
the same timestamp for every message posted within the same second;
effectively, it truncates the milliseconds. I'd prefer to keep them.
Here's what I got to work:
d wEpoch s z static
inz(z'2000-01-01-00.00.00')
d w1 s 30 0
d wMSAdjust c 946684800000
/free
w1 = (%diff( wTime: wEpoch: *mseconds));
return (w1/1000) + wMSAdjust;
/free
This works fine, as wMSAdjust is the number of milliseconds between
01/01/1970 and 01/01/2000. Very similar to what you suggested, although
hardcoding the value.
But here's the interesting bit, and why I said yours might not work.
THIS does not work:
d wEpoch s z static
inz(z'2000-01-01-00.00.00')
d w1 s 30 0
d wMSAdjust c 946684800000
/free
return (%diff( wTime: wEpoch: *mseconds)/1000) + wMSAdjust;
/free
I get an overflow error! Evidently some internal precision deal is
getting blown up. Anyway, I have it now. I'm not going to worry about
it.
Joe
--
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.
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.