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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: php at y-mail dot ml
New email:
PHP Version: OS:

 

 [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

Pull Requests

Pull requests:

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-2024 The PHP Group
All rights reserved.
Last updated: Sun Oct 27 16:01:27 2024 UTC