php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #80185 jdtounix() fails after 2037
Submitted: 2020-10-04 19:04 UTC Modified: 2020-10-07 09:02 UTC
From: php at y-mail dot ml Assigned: cmb (profile)
Status: Closed Package: *Calendar problems
PHP Version: 7.4.11 OS: Ubuntu 20.04
Private report: No CVE-ID: None
 [2020-10-04 19:04 UTC] php at y-mail dot ml
Description:
------------
I tried to calculate dates for a few years ahead and it turned out not that the jdtounix function does not work after the year 2037.

Test script:
---------------
<?php

var_dump(jdtounix(2465712)); // => false



Patches

Add a Patch

Pull Requests

Pull requests:

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2020-10-04 19:07 UTC] danack@php.net
Probably, you should start planning to not use that function at some point in the next 17 years.

https://en.wikipedia.org/wiki/Year_2038_problem
 [2020-10-04 19:11 UTC] php at y-mail dot ml
-Status: Open +Status: Closed
 [2020-10-04 19:11 UTC] php at y-mail dot ml
Dan replied to me, no longer relevant.
Thank you.
 [2020-10-04 20:28 UTC] danack@php.net
-Status: Closed +Status: Re-Opened
 [2020-10-04 20:28 UTC] danack@php.net
Actually, I'm not sure it isn't a bug, so I've reopened it.

For systems that use 64 bit time_t, the unix times will still work. 

But for this function, it seems to be hard-coded to return false after day 24755

https://github.com/php/php-src/blob/969a432fd8b34a0ec4e48e903370f0659aef6b04/ext/calendar/cal_unix.c#L63

That hard-coding could be removed for systems that support 64 bit time.

So maybe you can keep using that function.
 [2020-10-07 09:02 UTC] cmb@php.net
-Summary: jdtounix not work after 2037 +Summary: jdtounix() fails after 2037 -Status: Re-Opened +Status: Verified -Assigned To: +Assigned To: cmb
 [2020-10-07 09:03 UTC] cmb@php.net
The following pull request has been associated:

Patch Name: Fix #80185: jdtounix() fails after 2037
On GitHub:  https://github.com/php/php-src/pull/6288
Patch:      https://github.com/php/php-src/pull/6288.patch
 [2020-10-07 12:10 UTC] cmb@php.net
Automatic comment on behalf of cmbecker69@gmx.de
Revision: http://git.php.net/?p=php-src.git;a=commit;h=e857dfa7cc9d28174e2328bd3ef74d9c436afda9
Log: Fix #80185: jdtounix() fails after 2037
 [2020-10-07 12:10 UTC] cmb@php.net
-Status: Verified +Status: Closed
 
PHP Copyright © 2001-2020 The PHP Group
All rights reserved.
Last updated: Mon Nov 23 20:01:23 2020 UTC