Bug #65730 [Com]: DateTime::format('W') returns wrong week number
| From: | mohsin at pie-solutions dot com | Date: | Wed, 19 Feb 2020 11:31:33 +0000 |
| Subject: | Bug #65730 [Com]: DateTime::format('W') returns wrong week number | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-225619@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=65730&edit=1
ID: 65730
Comment by: mohsin at pie-solutions dot com
Reported by: glavic at gmail dot com
Summary: DateTime::format('W') returns wrong week number
Status: Not a bug
Type: Bug
Package: Date/time related
Operating System: ALL
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
Thank you for not deleting this thread/post/bug report. I encountered the same error..
Previous Comments:
------------------------------------------------------------------------
[2013-11-27 21:39:02] rodolphe at eveilleau dot fr
Thank you for not delete these comments. I encountered the same situation.
------------------------------------------------------------------------
[2013-09-21 20:56:55] derick@php.net
Nope, we won't delete it so that we can point other people to it in the future.
------------------------------------------------------------------------
[2013-09-21 18:51:06] glavic at gmail dot com
Ah, I found it, it is 'o' format character.
Sorry for your trouble. Can you delete this failed bug report? ;)
Tnx
------------------------------------------------------------------------
[2013-09-21 18:48:10] glavic at gmail dot com
I made a copy/paste typo before, but that doesn't matter now because you said that
'Y' returns the year of the date, which is totally correct, where was my head...
I understand what you are saying; I agree that Dec 30 and 31 fall in week 1; but year 2014, not
2013.
Maybe I should rephrase my question: how do I get correct week year from "echo (new
DateTime('2013-12-30'))->format('W ????');" ?
------------------------------------------------------------------------
[2013-09-21 18:18:50] rasmus@php.net
2013-12-30 ('Y W');" returns "2013 01" is correct. The 'Y' is the
year. The ISO
8601 Year for 2013-12-30 is obviously 2013. However the ISO 8601 Week number for
2013-12-30 is also just as obviously 1. So 2013 01 is correct.
And your next statement makes no sense either:
"So now we have two identical week number for year 2013 with a year difference
between dates ;)"
We are talking about Dec.30 and 31 in 2013. That is Monday and Tuesday. They
both fall in ISO week 1 and they are both in 2013. Wednesday Jan.1 2014 also
falls in ISO week 1 even though it is in 2014. That's how ISO weeks work.
Is your confusion that you think the 'Y' has to be associated with the 'W'
somehow? The 'Y' refers to the date you are formatting.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=65730
--
Edit this bug report at https://bugs.php.net/bug.php?id=65730&edit=1