[Gambas-user] Unix Date conversion
Benoit Minisini
gambas at ...1...
Mon Jul 24 14:56:07 CEST 2006
On Monday 24 July 2006 14:48, Benoit Minisini wrote:
> On Monday 24 July 2006 14:37, MrBiTs wrote:
> > /*
> > That is correct. # of seconds since 1/1/1970.
> > */
> >
> > Number of seconds since 1/1/1970 00:00:00 GMT.
> >
> > In perl, for example, we have a very simple line to convert Unix
> > Timestamp into human-readable format:
> >
> > $ perl -e "print scalar localtime(0);"
> > Wed Dec 31 21:00:00 1969
> >
> > As I told, this is GMT based. So, here in Brazil we have GMT-3, then
> > that's correct.
> >
> > CheerS
>
> I have read the man page...
>
> Actually this is *not* the true number of seconds before 1/1/1970, because:
> - All years divisible by four are considered leap years.
> - Sometimes a leap second is added to some years, and it is ignored.
>
> So maybe a dedicated function is needed...
But according to:
http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap04.html
The leap years are respected. The formula is:
UnixDate =
tm_sec + tm_min*60 + tm_hour*3600 + tm_yday*86400 +
(tm_year-70)*31536000 + ((tm_year-69)/4)*86400 -
((tm_year-1)/100)*86400 + ((tm_year+299)/400)*86400
So who is right? :-)
I really should make a dedicated function!
--
Benoit Minisini
More information about the User
mailing list