Číslo týdne na přelomu roku

Fires
Člen | 97
+
0
-

Zdravím, není to tak úplně nette ale řeším takovou blbost. Od uživatelů získávám každý týden data a tyto data mi vepisují do formuláře. Problem nastal teď na konci roku.

date = new \Nette\Utils\DateTime;
$date->modify('-1 week');
dd($date);
$year = $date->format("Y");
$week = $date->format("W");
<?php
$date = new DateTime('2018-12-31 11:58:00.000000');
echo $date->format('Y-m-d H:i:s W');

result: 2018-12-31 11:58:00 01

Tzn. problém je že $year = 2018, a $week = 01 . Jak tohle řešíte ? Vím že je to problém s ISO číslováním týdnů ale vlastně Vám PHP vráti naprostý nesmysl ve smyslu rok/týden.

Ondřej Kubíček
Člen | 494
+
0
-

to říká ve kterém týdnu ten datum je, což je správně 1.
co bys tam tak chtěl mít jiného? 53. ?

voda
Člen | 561
+
+3
-

Pokud chceš používat ISO týden, tak k tomu používej ISO rok, viz http://php.net/…ion.date.php

echo (new DateTime("2018-12-31"))->format("Y-W  o-W");
// 2018-01  2019-01
Fires
Člen | 97
+
0
-

Právě že nechci používat ISO. Očekával bych tam právě týden 53. 31.13. byl čtvrtek poslední týden v roce 2018 nebo to beru špatně?

Milo
Nette Core | 1283
+
0
-

31.12.2018 bylo ale pondělí. Držel bych se ISO, IMHO se už podle ničeho jiného nepočítá.

Fires
Člen | 97
+
0
-

Aha blbej mesic :D ale i tak 31.12 Pondělí. Použijí iso rok a bude to v pohodě. Díky