One solution to make your code survive longer is: (solution is tested with various dates set to points after 2038)
- turn on big int for the right lexical scopes, and
- do this convertion:
This would make the epcho value increase smoothly even after 2038 (but not forever).
my $t = time();
$t += 2 ** 32 if ($t < 0);
The logic behind the convertion: time() returns (- 2** 31) for 2038-01-18-20:14:07, which should be 2 * 31; returns (-2**31 + 1) for 2038-01-18-20:14:08, which should be (2 ** 31 + 1) and ... so the difference between what returned from time() and what it should be is always 2 ** 32.
In reply to Re: 2038 bug
in thread 2038 bug
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||