Edit report at https://bugs.php.net/bug.php?id=61599&edit=1
ID: 61599
User updated by: grom358_spamkill at yahoo dot com dot au
Reported by: grom358_spamkill at yahoo dot com dot au
Summary: Wrong Day of Week
Status: Open
Type: Bug
Package: Date/time related
Operating System: Linux
PHP Version: 5.3.10
Block user comment: N
Private report: N
New Comment:
Just to make it clearer, run the following:
<?php
$date = new DateTime();
$date->setDate(1599, 12, 31);
echo $date->format('l, jS F Y') . PHP_EOL;
$date->setDate(1600, 1, 1);
echo $date->format('l, jS F Y') . PHP_EOL;
You will see there is two saturdays in a row :O
Previous Comments:
------------------------------------------------------------------------
[2012-05-12 23:57:26] grom358_spamkill at yahoo dot com dot au
@zhanglijiu it should return Friday so your results confirm this bug
------------------------------------------------------------------------
[2012-05-11 15:54:22] zhanglijiu at gmail dot com
According to your code,my results is "Saturday, 15th October 1582 Saturday,
31st
December 1599", there is nothing wrong.
My system is Mac 10.6.8 PHP 5.3.1
------------------------------------------------------------------------
[2012-04-02 06:08:04] grom358_spamkill at yahoo dot com dot au
Description:
------------
The 15th October 1582 is a Friday (see
http://en.wikipedia.org/wiki/Gregorian_calendar). Testing with Python and Java
confirms this as well. Also checked the Gnome calendar.
The Proleptic Gregorian Calendar (see
http://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar) just extends the
Gregorian calendar backwards. I'm assuming PHP is using proleptic calendar,
which
would make 4th october 1582 a monday. But again DateTime gets it wrong.
I made a script to find the breaking point, and it occurs at 31st December
1599.
It returns it as a Saturday when in fact its a Friday.
Test script:
---------------
<?php
$date = new DateTime();
$date->setDate(1582, 10, 15);
echo $date->format('l, jS F Y') . PHP_EOL;
$date->setDate(1599, 12, 31);
echo $date->format('l, jS F Y') . PHP_EOL;
Expected result:
----------------
Friday, 15th October 1582
Friday, 31st December 1599
Actual result:
--------------
Saturday, 15th October 1582
Saturday, 31st December 1599
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=61599&edit=1