ietf
[Top] [All Lists]

Re: Predictable Internet Time

2017-01-04 01:14:52
On 4 Jan 2017, at 0:14, Tony Finch wrote:

$ perl -MPOSIX -e 'print strftime "%F %T\n", gmtime 1483228799'
2016-12-31 23:59:59
$ perl -MPOSIX -e 'print strftime "%F %T\n", gmtime 1483228800'
2017-01-01 00:00:00

I'm not sure what you mean. If you add (24+24+23)*3600 seconds to 1483228800 
you get 23:00:00 today, which is the same length of time after 2017-01-01 
00:00:00. Nothing is one second behind now. Except it has taken me more than 
600 seconds to write this message.

Well, if you look at the POSIX definition you see that it is clearly wrong the 
days when leap second is added:

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


2015-12-31 23:59:58 365th day 61409923198
2015-12-31 23:59:59 365th        day 61409923199
2016-01-01 00:00:00   1st day 61409836800
2016-01-01 00:00:01   1st day 61409836801
                                                                        
2016-12-31 23:59:59 366th day 61441459199
2016-12-31 23:59:60 366th day 61441459200
2017-01-01 00:00:00   1st day 61441459200
2017-01-01 00:00:01   1st day 61441459201

I.e. the real problem we have is a broken POSIX definition.

    Patrik

Attachment: signature.asc
Description: OpenPGP digital signature

<Prev in Thread] Current Thread [Next in Thread>