Datumrechnereien – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Datumrechnereien Fri, 05 Jan 18 15:18:45 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711429#m1711429 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711429#m1711429 <p>Hallo,</p> <p>kann mir einer das erklären?</p> <pre><code class="block language-php"> <span class="token variable">$jahr</span><span class="token operator">=</span><span class="token number">2017</span><span class="token punctuation">;</span> <span class="token variable">$kalenderwoche</span> <span class="token operator">=</span> <span class="token number">52</span><span class="token punctuation">;</span> <span class="token variable">$relevantes_datum</span> <span class="token operator">=</span> <span class="token variable">$jahr</span><span class="token operator">.</span><span class="token string double-quoted-string">"W"</span><span class="token operator">.</span><span class="token variable">$kalenderwoche</span><span class="token punctuation">;</span> <span class="token variable">$erg</span> <span class="token operator">=</span> <span class="token function">date</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'Y'</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token variable">$relevantes_datum</span><span class="token operator">.</span><span class="token string double-quoted-string">" +1 week"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">echo</span> <span class="token variable">$erg</span><span class="token punctuation">;</span> <span class="token comment">// 2018</span> <span class="token variable">$jahr</span><span class="token operator">=</span><span class="token number">2018</span><span class="token punctuation">;</span> <span class="token variable">$kalenderwoche</span> <span class="token operator">=</span> <span class="token number">52</span><span class="token punctuation">;</span> <span class="token variable">$relevantes_datum</span> <span class="token operator">=</span> <span class="token variable">$jahr</span><span class="token operator">.</span><span class="token string double-quoted-string">"W"</span><span class="token operator">.</span><span class="token variable">$kalenderwoche</span><span class="token punctuation">;</span> <span class="token variable">$erg</span> <span class="token operator">=</span> <span class="token function">date</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'Y'</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token variable">$relevantes_datum</span><span class="token operator">.</span><span class="token string double-quoted-string">" +1 week"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">echo</span> <span class="token variable">$erg</span><span class="token punctuation">;</span> <span class="token comment">// 2018</span> </code></pre> <p>Und wie komme ich auf 2019?</p> <p>Pit</p> Datumrechnereien Fri, 05 Jan 18 15:23:04 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711430#m1711430 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711430#m1711430 <p>Tach!</p> <blockquote> <p>kann mir einer das erklären?</p> </blockquote> <p>Versuch die Antwort mit PHP selbst zu finden. Lass dir nicht nur Y sondern auch Monat und Tag ausgeben.</p> <p>dedlfix.</p> Datumrechnereien Fri, 05 Jan 18 15:25:27 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711431#m1711431 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711431#m1711431 <p>Hi,</p> <blockquote> <pre><code class="block language-php"> <span class="token variable">$jahr</span><span class="token operator">=</span><span class="token number">2017</span><span class="token punctuation">;</span> <span class="token variable">$kalenderwoche</span> <span class="token operator">=</span> <span class="token number">52</span><span class="token punctuation">;</span> <span class="token variable">$relevantes_datum</span> <span class="token operator">=</span> <span class="token variable">$jahr</span><span class="token operator">.</span><span class="token string double-quoted-string">"W"</span><span class="token operator">.</span><span class="token variable">$kalenderwoche</span><span class="token punctuation">;</span> <span class="token variable">$erg</span> <span class="token operator">=</span> <span class="token function">date</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'Y'</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token variable">$relevantes_datum</span><span class="token operator">.</span><span class="token string double-quoted-string">" +1 week"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">echo</span> <span class="token variable">$erg</span><span class="token punctuation">;</span> <span class="token comment">// 2018</span> <span class="token variable">$jahr</span><span class="token operator">=</span><span class="token number">2018</span><span class="token punctuation">;</span> <span class="token variable">$kalenderwoche</span> <span class="token operator">=</span> <span class="token number">52</span><span class="token punctuation">;</span> <span class="token variable">$relevantes_datum</span> <span class="token operator">=</span> <span class="token variable">$jahr</span><span class="token operator">.</span><span class="token string double-quoted-string">"W"</span><span class="token operator">.</span><span class="token variable">$kalenderwoche</span><span class="token punctuation">;</span> <span class="token variable">$erg</span> <span class="token operator">=</span> <span class="token function">date</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'Y'</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token variable">$relevantes_datum</span><span class="token operator">.</span><span class="token string double-quoted-string">" +1 week"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">echo</span> <span class="token variable">$erg</span><span class="token punctuation">;</span> <span class="token comment">// 2018</span> </code></pre> <p>Und wie komme ich auf 2019?</p> </blockquote> <p><code>$erg = 2019;</code> </p> <p>welche Locale ist eingestellt? Nach US-Rechnung hat 2019 53 Wochen, nach D-Rechnung hat 2019 52 Wochen.</p> <p>cu,<br> Andreas a/k/a MudGuard</p> Datumrechnereien Fri, 05 Jan 18 16:10:52 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711434#m1711434 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711434#m1711434 <p>Hallo,</p> <p>wenn ich deinen Code ausführe komme ich 2 x 2018 zurück.</p> Datumrechnereien Fri, 05 Jan 18 18:34:05 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711449#m1711449 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711449#m1711449 <p>Hi dedlfix,</p> <blockquote> <p>Versuch die Antwort mit PHP selbst zu finden. Lass dir nicht nur Y sondern auch Monat und Tag ausgeben.</p> </blockquote> <p>Hast recht. W ist immer Montags. Gibts eine bessere Lösung als +1 week + 3day, um an den Donnerstag der Woche zu kommen?</p> <p>Pit</p> Datumrechnereien Fri, 05 Jan 18 16:54:44 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711443#m1711443 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711443#m1711443 <p>Hallo MudGuard,</p> <blockquote> <p>welche Locale ist eingestellt? Nach US-Rechnung hat 2019 53 Wochen, nach D-Rechnung hat 2019 52 Wochen.</p> </blockquote> <p>Ergänzung: In Deutschland ist die erste Kalenderwoche (des Jahres), die, die den ersten Donnerstag (des Jahres) enthält (Festlegung nach ISO irgendwas). In den USA (und auch anderen Ländern) beginnt die erste Kalenderwoche mit dem 1. Januar. Ist dies zum Beispiel ein Freitag, so enthält die erste Kalenderwoche nur 2 Tage, weil am Sonntag schon die zweite Kalenderwoche beginnt.</p> <p>Das wäre doch mal ein nettes Spielfeld für @pl.</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> Datumrechnereien Fri, 05 Jan 18 17:54:16 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711444#m1711444 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711444#m1711444 <blockquote> <p>welche Locale ist eingestellt? Nach US-Rechnung hat 2019 53 Wochen, nach D-Rechnung hat 2019 52 Wochen.</p> </blockquote> <pre><code class="block language-php"> <span class="token function">setlocale</span> <span class="token punctuation">(</span><span class="token constant">LC_TIME</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"de_DE"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">echo</span> <span class="token function">strftime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"%B - "</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">setlocale</span> <span class="token punctuation">(</span><span class="token constant">LC_TIME</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"en_US"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">echo</span> <span class="token function">strftime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"%B - "</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">setlocale</span> <span class="token punctuation">(</span><span class="token constant">LC_TIME</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"fr_FR"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">echo</span> <span class="token function">strftime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"%B"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Ergebnis:</p> <pre><code class="block">January - January - January </code></pre> <p>Pit</p> Datumrechnereien Sat, 06 Jan 18 11:33:09 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711474#m1711474 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711474#m1711474 <p>@@MudGuard</p> <blockquote> <p>welche Locale ist eingestellt?</p> </blockquote> <p>Welchen Einfluss sollte das haben? Interpretiert <code class="language-php"><span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token punctuation">)</span></code> das Argument <code>'2017W52'</code> nicht immer als ISO-8601-String?</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien Fri, 05 Jan 18 16:19:32 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711438#m1711438 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711438#m1711438 <p>Hi,</p> <blockquote> <p>wenn ich deinen Code ausführe komme ich 2 x 2018 zurück.</p> </blockquote> <p>Welche Locale ist eingestellt? Vermutlich eine andere als bei Pit.</p> <p>cu,<br> Andreas a/k/a MudGuard</p> Datumrechnereien Fri, 05 Jan 18 16:46:05 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711442#m1711442 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711442#m1711442 <p>Hallo Bernd,</p> <blockquote> <p>wenn ich deinen Code ausführe komme ich 2 x 2018 zurück.</p> </blockquote> <p>Nichts anderes wird behauptet. </p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> Datumrechnereien Fri, 05 Jan 18 20:08:08 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711451#m1711451 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711451#m1711451 <p>Hallo,</p> <blockquote> <p>Welche Locale ist eingestellt? Vermutlich eine andere als bei Pit.</p> </blockquote> <p>kann ich dir nicht sagen. Hab nur eine PHP Datei angelegt, seinen Code rein kopiert, hochgeladen und danach aufgerufen </p> Datumrechnereien Fri, 05 Jan 18 18:17:30 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711445#m1711445 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711445#m1711445 <blockquote> <p>Ergänzung: In Deutschland ist die erste Kalenderwoche (des Jahres), die, die den ersten Donnerstag (des Jahres) enthält (Festlegung nach ISO irgendwas). In den USA (und auch anderen Ländern) beginnt die erste Kalenderwoche mit dem 1. Januar. Ist dies zum Beispiel ein Freitag, so enthält die erste Kalenderwoche nur 2 Tage, weil am Sonntag schon die zweite Kalenderwoche beginnt.</p> </blockquote> <p>Schöne Erklärung. Aber für 2019 wäre das doch völlig identisch. Der 1.1.19 ist der Dienstag, der Donnerstag ist also der 3.1.19. Insofern wäre doch die erste KW in 2019 in beiden Ländern identisch.</p> <p>Pit</p> Datumrechnereien Fri, 05 Jan 18 18:24:45 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711446#m1711446 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711446#m1711446 <p>Hallo Pit,</p> <blockquote> <p>Schöne Erklärung. Aber für 2019 wäre das doch völlig identisch. Der 1.1.19 ist der Dienstag, der Donnerstag ist also der 3.1.19. Insofern wäre doch die erste KW in 2019 in beiden Ländern identisch.</p> </blockquote> <p>Nein. Die Kalenderwochen sind in diesen beiden Ländern niemals identisch, die eine beginnt Montag (immer), die andere Sonntag (meistens).</p> <p>|1.KW|Anfang|Ende |--| |<strong>US</strong>|1.1.2019 (Di)|5.1.2019 (Sa) |<strong>DE</strong>|31.12.2018 (Mo)|6.1.2019 (So)</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> Datumrechnereien Fri, 05 Jan 18 18:25:41 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711447#m1711447 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711447#m1711447 <p>Hi,</p> <blockquote> <p>Schöne Erklärung. Aber für 2019 wäre das doch völlig identisch. Der 1.1.19 ist der Dienstag, der Donnerstag ist also der 3.1.19. Insofern wäre doch die erste KW in 2019 in beiden Ländern identisch.</p> </blockquote> <p>Du bist aber nicht vom 1.1. ausgegangen, sondern von der 52. Kalenderwoche des Vorjahres. Und wenn das Vorjahr in den USA 53 Wochen hat …</p> <p>cu,<br> Andreas a/k/a MudGuard</p> Datumrechnereien Fri, 05 Jan 18 18:31:13 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711448#m1711448 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711448#m1711448 <p>Hallo MudGuard,</p> <blockquote> <p>Du bist aber nicht vom 1.1. ausgegangen, sondern von der 52. Kalenderwoche des Vorjahres. Und wenn das Vorjahr in den USA 53 Wochen hat …</p> </blockquote> <p>… was es immer hat<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> …</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> <hr class="footnotes-sep"> <section class="footnotes"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p>Manchmal sogar noch eine Woche mehr. <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> </ol> </section> Datumrechnereien Fri, 05 Jan 18 18:56:12 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711450#m1711450 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711450#m1711450 <p>Hallo Pit,</p> <blockquote> <p>Hast recht. W ist immer Montags. Gibts eine bessere Lösung als +1 week + 3day, um an den Donnerstag der Woche zu kommen?</p> </blockquote> <p><code class="language-php"><span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"first thursday of <span class="token interpolation"><span class="token variable">$year</span></span>"</span><span class="token punctuation">)</span></code>?</p> <p><a href="http://sandbox.onlinephpfunctions.com/code/d5bbba50ba9cd14e114fa21dd4792c215fb20567" rel="nofollow noopener noreferrer">http://sandbox.onlinephpfunctions.com/code/d5bbba50ba9cd14e114fa21dd4792c215fb20567</a></p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> Datumrechnereien Fri, 05 Jan 18 20:53:04 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711455#m1711455 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711455#m1711455 <p>Tach!</p> <blockquote> <p>Gibts eine bessere Lösung als +1 week + 3day, um an den Donnerstag der Woche zu kommen?</p> </blockquote> <p>Was ist überhaupt die Aufgabenstellung? Anfang des Jahres ist auf alle Fälle immer der 1.1. Das kann man mit mktime(), der Jahreszahl und zwei konstanten 1en einfach zu einen Timestamp berechnen.</p> <p>dedlfix.</p> Datumrechnereien Fri, 05 Jan 18 20:35:20 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711453#m1711453 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711453#m1711453 <p>Hi Matthias,</p> <blockquote> <blockquote> <p>Gibts eine bessere Lösung als +1 week + 3day, um an den Donnerstag der Woche zu kommen?</p> </blockquote> <p><code class="language-php"><span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"first thursday of <span class="token interpolation"><span class="token variable">$year</span></span>"</span><span class="token punctuation">)</span></code>?</p> </blockquote> <p>Hm... anders, aber besser? Dennoch danke für den Hinweis,</p> <p>Pit</p> Datumrechnereien Fri, 05 Jan 18 20:51:03 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711454#m1711454 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711454#m1711454 <p>Hallo Pit,</p> <blockquote> <blockquote> <blockquote> <p>Gibts eine bessere Lösung als +1 week + 3day, um an den Donnerstag der Woche zu kommen?</p> </blockquote> <p><code class="language-php"><span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"first thursday of <span class="token interpolation"><span class="token variable">$year</span></span>"</span><span class="token punctuation">)</span></code>?</p> </blockquote> <p>Hm... anders, aber besser?</p> </blockquote> <p>Da dein Versuch offenbar nicht immer das richtige Ergebnis liefert, …</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> Datumrechnereien Fri, 05 Jan 18 21:00:36 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711456#m1711456 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711456#m1711456 <p>Hi Matthias,</p> <blockquote> <blockquote> <blockquote> <blockquote> <p>Gibts eine bessere Lösung als +1 week + 3day, um an den Donnerstag der Woche zu kommen?</p> </blockquote> </blockquote> </blockquote> <p>Da dein Versuch offenbar nicht immer das richtige Ergebnis liefert, …</p> </blockquote> <p>Welcher Versuch? Der +1 week + 3day ? Liefert ganz sicher (in mieinem obigem Bsp.) immer das korrekte Ergebnis.</p> <p>Pit</p> Datumrechnereien Fri, 05 Jan 18 22:05:30 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711460#m1711460 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711460#m1711460 <p>Hi dedlfix,</p> <blockquote> <p>Was ist überhaupt die Aufgabenstellung? Anfang des Jahres ist auf alle Fälle immer der 1.1. Das kann man mit mktime(), der Jahreszahl und zwei konstanten 1en einfach zu einen Timestamp berechnen.</p> </blockquote> <p>Aufgabe ist, die erste KW eines Jahres zu finden. Und Matthias sagt, dass sei in BRD immer der erste Do im Jahr. Und da strtotime("{$jahr}-W{$kalenderwoche}") immer den (timestamp eines) Montag einer KW ergibt, kann ich auch immer 3 Tage drauf rechnen. Dann habe ich den (timestamp eines) Do, auch im der ersten KW eines neuen Jahres.</p> <p>Pit</p> Datumrechnereien Fri, 05 Jan 18 21:03:12 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711457#m1711457 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711457#m1711457 <p>Hallo Pit,</p> <blockquote> <p>Welcher Versuch? Der +1 week + 3day ? Liefert ganz sicher (in mieinem obigem Bsp.) immer das korrekte Ergebnis.</p> </blockquote> <p>Alles klar. Warum fragst du dann?</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> Datumrechnereien Fri, 05 Jan 18 21:07:55 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711458#m1711458 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711458#m1711458 <blockquote> <p>Hallo Pit,</p> <blockquote> <p>Welcher Versuch? Der +1 week + 3day ? Liefert ganz sicher (in mieinem obigem Bsp.) immer das korrekte Ergebnis.</p> </blockquote> <p>Alles klar. Warum fragst du dann?</p> </blockquote> <p>Hi Matthias,</p> <p>biste jetzt beleidigt? </p> <p>Pit</p> Datumrechnereien Fri, 05 Jan 18 22:25:26 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711461#m1711461 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711461#m1711461 <p>Tach!</p> <blockquote> <p>Aufgabe ist, die erste KW eines Jahres zu finden.</p> </blockquote> <p>Warum sucht du dann nicht mit beispielsweise 2019W01? Dass der erste Tag der ersten Woche durchaus einer vom Vorjahr sein kann, liegt in der Natur unserer Festlegung von "erster Woche".</p> <blockquote> <p>Und Matthias sagt, dass sei in BRD immer der erste Do im Jahr.</p> </blockquote> <p>Das hast du ungenau formuliert oder sogar ungenau verstanden. Es ist immer die Woche mit dem ersten Donnerstag im neuen Jahr. Der erste Tag der Woche 1 von 2019 ist der 31.12.2018. Und der gehört auch nicht etwa zur 53. Woche 2018, eine solche gibt es bei uns nicht. Also jedenfalls nicht in dem Jahr, aber beispielsweise 2020.</p> <blockquote> <p>Und da strtotime("{$jahr}-W{$kalenderwoche}") immer den (timestamp eines) Montag einer KW ergibt, kann ich auch immer 3 Tage drauf rechnen. Dann habe ich den (timestamp eines) Do, auch im der ersten KW eines neuen Jahres.</p> </blockquote> <p>Also was brauchst du nun? Den Tag der ersten Woche? Da musst du nichts rechnen, den gibt strtotime() mit "{$jahr}W01".</p> <p>dedlfix.</p> Datumrechnereien Sat, 06 Jan 18 09:56:26 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711466#m1711466 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711466#m1711466 <p>Hi dedlfix,</p> <blockquote> <p>Das hast du ungenau formuliert</p> </blockquote> <p>Ok.</p> <blockquote> <p>Also was brauchst du nun? Den Tag der ersten Woche? Da musst du nichts rechnen, den gibt strtotime() mit "{$jahr}W01".</p> </blockquote> <p>Ich brauche den Rechenweg, der mich aus {$jahr}W52 zielsicher in die 1 Woche des nachfolgenden Jahres bringt und dachte an <code>+1 week + 3day</code> oder <code>+10day</code>.</p> <p>Pit</p> Datumrechnereien Sat, 06 Jan 18 10:08:27 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711467#m1711467 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711467#m1711467 <blockquote> <blockquote> <p>Also was brauchst du nun? Den Tag der ersten Woche? Da musst du nichts rechnen, den gibt strtotime() mit "{$jahr}W01".</p> </blockquote> <p>Ich brauche den Rechenweg, der mich aus {$jahr}W52 zielsicher in die 1 Woche des nachfolgenden Jahres bringt und dachte an <code>+1 week + 3day</code> oder <code>+10day</code>.</p> </blockquote> <p>Auf den Mo der KW52 7 Tage addieren, fertig. Dann bekommst Du entweder die 1. Woche des nächsten Jahres oder die 53. Woche (falls es die gibt). <a href="http://rolfrost.de/daysinkw.html?year=2017;week=52;find=1" rel="nofollow noopener noreferrer">Im Fall 2017 erhältst Du die 1. Woche des nächsten Jahres</a>. MfG</p> Datumrechnereien Sat, 06 Jan 18 10:27:02 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711469#m1711469 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711469#m1711469 <p>Tach!</p> <blockquote> <p>Ich brauche den Rechenweg, der mich aus {$jahr}W52 zielsicher in die 1 Woche des nachfolgenden Jahres bringt und dachte an <code>+1 week + 3day</code> oder <code>+10day</code>.</p> </blockquote> <p>Der erste Wochentag des Folgejahres ist sinngemäß {$jahr + 1}W01. Bedenke dabei, dass das nicht zwangsläufig die nachfolgende Woche von {$jahr}W52 ist, denn manchmal gibt es auch {$jahr}W53.</p> <p>dedlfix.</p> Datumrechnereien Sat, 06 Jan 18 11:06:05 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711470#m1711470 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711470#m1711470 <p>Hi Rolf,</p> <blockquote> <p>Auf den Mo der KW52 7 Tage addieren, fertig. Dann bekommst Du entweder die 1. Woche des nächsten Jahres oder die 53. Woche (falls es die gibt). <a href="http://rolfrost.de/daysinkw.html?year=2017;week=52;find=1" rel="nofollow noopener noreferrer">Im Fall 2017 erhältst Du die 1. Woche des nächsten Jahres</a>. MfG</p> </blockquote> <p>Ich denke, Du liegst falsch. Klicke in <a href="http://rolfrost.de/daysinkw.html?year=2018;week=52;find=1" rel="nofollow noopener noreferrer">Deinem Beispiel</a> mal auf "Nächste Woche" </p> <p>Edit: Du reproduzierst genau meine Ausgangsfrage, rechne mal 10 Tage drauf und setze den Wochenanfang wieder auf Montag, dann läufts (übrigens auch in 2020 mit 53 KWs).</p> <p>Pit</p> Datumrechnereien Sat, 06 Jan 18 11:14:50 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711471#m1711471 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711471#m1711471 <p>Hi dedlfix,</p> <blockquote> <p>Der erste Wochentag des Folgejahres ist sinngemäß {$jahr + 1}W01. Bedenke dabei, dass das nicht zwangsläufig die nachfolgende Woche von {$jahr}W52 ist, denn manchmal gibt es auch {$jahr}W53.</p> </blockquote> <p>Es geht um den "next-button" eines fortlaufenden Kalenders. Daher greift Deine Lösung nicht.</p> <p>Pit</p> Datumrechnereien Sat, 06 Jan 18 13:43:37 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711481#m1711481 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711481#m1711481 <blockquote> <p>Klicke in <a href="http://rolfrost.de/daysinkw.html?year=2018;week=52;find=1" rel="nofollow noopener noreferrer">Deinem Beispiel</a> mal auf "Nächste Woche" </p> </blockquote> <p>Habs korrigiert, Danke für den Bugreport </p> <p>PS, Fazit: Zur Angabe einer KW gehört immer auch das Jahr.</p> Datumrechnereien Sat, 06 Jan 18 15:03:49 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711485#m1711485 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711485#m1711485 <p>hi,</p> <blockquote> <p>Edit: Du reproduzierst genau meine Ausgangsfrage, rechne mal 10 Tage drauf und setze den Wochenanfang wieder auf Montag, dann läufts (übrigens auch in 2020 mit 53 KWs).</p> </blockquote> <p>Nene, 7 Tage ist schon richtig.. Der Trick dabei ist, nach der Addition festzustellen, ob sich außer der Woche auch das Jahr geändert hat.</p> <p>Wenn wir zum Mo, 24.12.2018, KW 2018/52, 7 Tage addieren, erhalten wir den 31.12.2018 und der liegt in KW 2019/01. MfG</p> Datumrechnereien Sat, 06 Jan 18 11:21:30 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711472#m1711472 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711472#m1711472 <p>Tach!</p> <blockquote> <blockquote> <p>Der erste Wochentag des Folgejahres ist sinngemäß {$jahr + 1}W01. Bedenke dabei, dass das nicht zwangsläufig die nachfolgende Woche von {$jahr}W52 ist, denn manchmal gibt es auch {$jahr}W53.</p> </blockquote> <p>Es geht um den "next-button" eines fortlaufenden Kalenders.</p> </blockquote> <p>Also das ist deine eigentliche Aufgabenstellung. Sag das doch gleich. Die nächste Woche ist immer 7 Tage vom Montag der vorherigen Woche entfernt. Da solltest du mit Tagen auf das Datum rechnen, nicht mit Wochennummern, von denen du nicht weißt, und auch nicht einfach über date() ermitteln kannst, wieviele es im Jahr gibt. Wenn du die Nummer brauchst, berechne sie rückwärts aus dem Datum mittels date() und passendem Format-Zeichen.</p> <blockquote> <p>Daher greift Deine Lösung nicht.</p> </blockquote> <p>Die greift schon, aber auf die ungenaue Aufgabenbeschreibung.</p> <p>dedlfix.</p> Datumrechnereien Sat, 06 Jan 18 11:28:17 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711473#m1711473 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711473#m1711473 <p>Hallo dedlfix,</p> <blockquote> <p>Die nächste Woche ist immer 7 Tage vom Montag der vorherigen Woche entfernt.</p> </blockquote> <p>Um die gehts aber auch nicht, es geht ums nächste Jahr und das erhältst Du zielsicher (entweder auf Deine Methode, danke hierfür) oder, wenn Du in Wochen rechnest und der Kalender für Deutschland gilt, über +10day. <code>$jahr."W".$kalenderwoche</code> erledigt dann das Rückstellen auf den Montag dieser Woche.</p> <p>Pit</p> Datumrechnereien Sat, 06 Jan 18 12:07:16 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711477#m1711477 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711477#m1711477 <p>Tach!</p> <blockquote> <blockquote> <p>Die nächste Woche ist immer 7 Tage vom Montag der vorherigen Woche entfernt.</p> </blockquote> <p>Um die gehts aber auch nicht, es geht ums nächste Jahr</p> </blockquote> <p>Auch beim Übergang zwischen den Jahren gilt diese Regel.</p> <blockquote> <p>oder, wenn Du in Wochen rechnest und der Kalender für Deutschland gilt, über +10day. <code>$jahr."W".$kalenderwoche</code> erledigt dann das Rückstellen auf den Montag dieser Woche.</p> </blockquote> <p>Falls das zuverlässig funktioniert, ist das keine Lösung, die ich nehmen würde, weil sie zu undurchsichtig ist. Das rechnet über Bande statt geradeaus die Lösung zu ermitteln. Das verstehst du selbst in spätestens einem halben Jahr nicht mehr, falls du das nicht dokumentierst.</p> <p>dedlfix.</p> Datumrechnereien Sat, 06 Jan 18 12:08:48 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711478#m1711478 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711478#m1711478 <p>Hallo Gunnar Bittersmann,</p> <blockquote> <blockquote> <p>welche Locale ist eingestellt?</p> </blockquote> <p>Welchen Einfluss sollte das haben? Interpretiert <code class="language-php"><span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token punctuation">)</span></code> das Argument <code>'2017W52'</code> nicht immer als ISO-8601-String?</p> </blockquote> <p>Auch in Ländern, in denen die Kalenderwoche nicht nach ISO-8601 festgelegt wird?</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> Datumrechnereien Sat, 06 Jan 18 13:07:19 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711480#m1711480 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711480#m1711480 <p>Hi dedlfix,</p> <blockquote> <p>Falls das zuverlässig funktioniert, ist das keine Lösung, die ich nehmen würde, weil sie zu undurchsichtig ist. Das rechnet über Bande statt geradeaus die Lösung zu ermitteln. Das verstehst du selbst in spätestens einem halben Jahr nicht mehr, falls du das nicht dokumentierst.</p> </blockquote> <p>In meinem Gesamtcode macht sich dieser sehr gut, aber hast recht, ich schieb nen 3-zeiler als Kommentar drüber.</p> <p>Pit</p> Datumrechnereien Sat, 06 Jan 18 13:56:24 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711482#m1711482 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711482#m1711482 <p>@@dedlfix</p> <blockquote> <p>Das verstehst du selbst in spätestens einem halben Jahr nicht mehr, falls du das nicht dokumentierst.</p> </blockquote> <p><em>“Any code of your own that you haven’t looked at for six or more months might as well have been written by someone else.”</em> —Eagleson’s law </p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien Sat, 06 Jan 18 16:59:30 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711493#m1711493 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711493#m1711493 <p>@@Matthias Apsel</p> <blockquote> <blockquote> <blockquote> <p>welche Locale ist eingestellt?</p> </blockquote> <p>Welchen Einfluss sollte das haben? Interpretiert <code class="language-php"><span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token punctuation">)</span></code> das Argument <code>'2017W52'</code> nicht immer als ISO-8601-String?</p> </blockquote> <p>Auch in Ländern, in denen die Kalenderwoche nicht nach ISO-8601 festgelegt wird?</p> </blockquote> <p>ISO 8601 ist ISO 8601 ist ISO 8601.</p> <pre><code class="block language-php"><span class="token variable">$locale</span> <span class="token operator">=</span> <span class="token function">setlocale</span><span class="token punctuation">(</span><span class="token constant">LC_TIME</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'en_US'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$date</span> <span class="token operator">=</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'2016W01'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">echo</span> <span class="token function">date</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'c'</span><span class="token punctuation">,</span> <span class="token variable">$date</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 2016-01-04T00:00:00+01:00</span> </code></pre> <p>Das ist der Montag der 1. Kalenderwoche 2016 gemäß ISO 8601.</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien Sat, 06 Jan 18 14:32:33 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711484#m1711484 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711484#m1711484 <p>@@Pit</p> <blockquote> <blockquote> <p>Falls das zuverlässig funktioniert, ist das keine Lösung, die ich nehmen würde, weil sie zu undurchsichtig ist. Das rechnet über Bande statt geradeaus die Lösung zu ermitteln. Das verstehst du selbst in spätestens einem halben Jahr nicht mehr, falls du das nicht dokumentierst.</p> </blockquote> <p>In meinem Gesamtcode macht sich dieser sehr gut, aber hast recht, ich schieb nen 3-zeiler als Kommentar drüber.</p> </blockquote> <p><em>“Good code is its own best documentation. As you’re about to add a comment, ask yourself, ‘How can I improve the code so that this comment isn’t needed?’ Improve the code and then document it to make it even clearer.”</em> —Steve McConnell </p> <p><em>“W​henever I have to think to understand what the code is doing, I ask myself if I can refactor the code to make that understanding more immediately apparent.”</em> —Martin Fowler </p> <p>Quelle: Internet ;-) <a href="https://twitter.com/codewisdom/status/937758828334075905" rel="nofollow noopener noreferrer">@codewisdom</a></p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien Sat, 06 Jan 18 15:43:37 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711488#m1711488 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711488#m1711488 <p>Hallo,</p> <blockquote> <p>PS, Fazit: Zur Angabe einer KW gehört immer auch das Jahr.</p> </blockquote> <p>-Treffen wir uns nächsten Monat?<br> -Ja, halb neun.<br> -Ok, bitte sei pünktlich!</p> <p>Gruß<br> Kalk</p> Datumrechnereien Sun, 07 Jan 18 09:08:55 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711517#m1711517 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711517#m1711517 <p>Hi,</p> <blockquote> <p>Nene, 7 Tage ist schon richtig.. Der Trick dabei ist, nach der Addition festzustellen, ob sich außer der Woche auch das Jahr geändert hat.</p> </blockquote> <p>Sehe ich anders. Entweder 7 Tage, dann aber auch, wie dedlfix schon sagt, aufs Datum aufaddiert und erst dann holt man sich vom neuen Datum die KW. (da brauchst Du aber nichts mehr prüfen, sondern hast autom. die korrekte KW und das korrekte Jahr) Oder 10 tage auf den Montag der lfd. KW und anschließend die Woche wieder mit dem Montag der errechneten KW anfangen. Da hast Du auch ohne jede Prüfung die korrekte KW und das korrekte jahr.</p> <p>Pit</p> Datumrechnereien Sat, 06 Jan 18 18:09:40 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711498#m1711498 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711498#m1711498 <p>Hallo,</p> <blockquote> <blockquote> <p>PS, Fazit: Zur Angabe einer KW gehört immer auch das Jahr.</p> </blockquote> <p>-Treffen wir uns nächsten Monat?<br> -Ja, halb neun.<br> -Ok, bitte sei pünktlich!</p> </blockquote> <p>Ja, es gibt Tage die sich dadurch auszeichnen, daß sie rechnerisch sowohl in das eine, als auch in das andere Jahr gehören. Der <a href="http://rolfrost.de/daysinkw.html?year=2019;week=1;find=1" rel="nofollow noopener noreferrer">31.12.2018</a> ist so ein Tag, er gehört von Tag und Monat her zum Jahr 2018, von der Kalenderwoche her jedoch zum Jahr 2019.</p> <p>Programmiertechnisch heißt das, daß man auf einem Zeitstempel zwei verschiedene Jahre abzubilden hat. MfG</p> <p>PS: Wenn heute der 24.12.2018 wäre..</p> <ul> <li>treffen wir uns in der 1.KW des nächsten Jahres um 9 Uhr?</li> <li>Ja aber sieh zu, daß Du dieses Jahr noch kommst.</li> </ul> <p>Ist eindeutig!</p> Datumrechnereien Sat, 06 Jan 18 18:36:37 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711499#m1711499 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711499#m1711499 <p>@@pl</p> <blockquote> <p>Programmiertechnisch heißt das, daß man auf einem Zeitstempel zwei verschiedene Jahre abzubilden hat.</p> </blockquote> <p>?? Hat man das?</p> <p>Ein Zeitstempel weiß nichts von einem Jahr. Der zählt seine Sekunden (oder in JavaScript Millisekunden) – nicht mehr und nicht weniger.</p> <p>Sowas wie „Jahr“ kommt erst ins Spiel, wenn man einen Zeitstempel als Datum formatiert ausgeben (oder anderweitig verarbeiten) will. Dafür gibt es in Programmiersprachen entsprechende Methoden – da hat man selbst nichts abzubilden.</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien Sun, 07 Jan 18 09:27:05 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711518#m1711518 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711518#m1711518 <p><a href="/users/20" class="mention registered-user" rel="noopener noreferrer">@Gunnar Bittersmann</a></p> <blockquote> <blockquote> <p>Programmiertechnisch heißt das, daß man auf einem Zeitstempel zwei verschiedene Jahre abzubilden hat.</p> </blockquote> <p>?? Hat man das?</p> </blockquote> <p>Ja, mit einer entsprechenden Programmiertechnik!</p> <blockquote> <p>Ein Zeitstempel weiß nichts von einem Jahr. Der zählt seine Sekunden (oder in JavaScript Millisekunden) – nicht mehr und nicht weniger.</p> <p>Sowas wie „Jahr“ kommt erst ins Spiel, wenn man einen Zeitstempel als Datum formatiert ausgeben (oder anderweitig verarbeiten) will. Dafür gibt es in Programmiersprachen entsprechende Methoden – da hat man selbst nichts abzubilden.</p> </blockquote> <p>Eine Methode zum Formatieren reicht da eben nicht. Da muß man schon die richtige Programmiertechnik anwenden weil 2 Jahre im Spiel sind die verschieden sein können. Das sind Tag und Monat ja auch und wenn man objektorientiert arbeitet, sind das alles Eigenschaften die zu einem bestimmten Datum gehören. Genauso wie der Zeitstempel selbst nur eine Eigenschaft ist, das Objekt jedoch eindeutig kennzeichnet (Identifikator).</p> <p>MfG, schönen Sonntag.</p> Datumrechnereien, Algorithmen Sun, 07 Jan 18 10:59:20 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711521#m1711521 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711521#m1711521 <p>Hi,</p> <blockquote> <blockquote> <p>Nene, 7 Tage ist schon richtig.. Der Trick dabei ist, nach der Addition festzustellen, ob sich außer der Woche auch das Jahr geändert hat.</p> </blockquote> <p>Sehe ich anders. Entweder 7 Tage, dann aber auch, wie dedlfix schon sagt, aufs Datum aufaddiert und erst dann holt man sich vom neuen Datum die KW. (da brauchst Du aber nichts mehr prüfen, sondern hast autom. die korrekte KW und das korrekte Jahr) Oder 10 tage auf den Montag der lfd. KW und anschließend die Woche wieder mit dem Montag der errechneten KW anfangen. Da hast Du auch ohne jede Prüfung die korrekte KW und das korrekte jahr.</p> </blockquote> <p>Es gibt aber 3 Fälle bezüglich eines zur KW gehörigen Jahres:</p> <ol> <li>das KWJahr ist dasselbe wie das Jahr zum Datum</li> <li>das KWJahr fällt in das nächste Jahr (Montag, 31.12.2018 KW 01/19)</li> <li>das KWJahr fällt in das vorherige Jahr (Sonntag, 1.1.2017 KW 52/16 )</li> </ol> <p>Ob Dein Algorithmus alle Fälle abdeckt, wäre zu prüfen.</p> <p>MfG</p> Datumrechnereien Sun, 07 Jan 18 09:54:39 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711519#m1711519 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711519#m1711519 <p>@@pl</p> <blockquote> <p>Eine Methode zum Formatieren reicht da eben nicht. Da muß man schon die richtige Programmiertechnik anwenden weil 2 Jahre im Spiel sind die verschieden sein können.</p> </blockquote> <p>Die richtige Programmiertechnik <em class="language-php">ist</em> in dem Fall die Methode zum Formatieren: <a href="https://secure.php.net/manual/de/function.date.php" rel="nofollow noopener noreferrer"><code class="language-php"><span class="token function">date</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'Y'</span><span class="token punctuation">,</span> …<span class="token punctuation">)</span></code> vs. <code class="language-php"><span class="token function">date</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'o'</span><span class="token punctuation">,</span> …<span class="token punctuation">)</span></code></a></p> <blockquote> <p>Das sind Tag und Monat ja auch und wenn man objektorientiert arbeitet, sind das alles Eigenschaften die zu einem bestimmten Datum gehören.</p> </blockquote> <p>Auch dafür bieten Programmiersprachen bereits entsprechende Methoden. In JavaScript bspw. heißen sie <code class="language-js"><span class="token function">getDate</span><span class="token punctuation">(</span><span class="token punctuation">)</span></code>, <code class="language-js"><span class="token function">getMonth</span><span class="token punctuation">(</span><span class="token punctuation">)</span></code>.</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien Sun, 07 Jan 18 10:51:02 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711520#m1711520 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711520#m1711520 <p><a href="/users/20" class="mention registered-user" rel="noopener noreferrer">@Gunnar Bittersmann</a></p> <blockquote> <p>Auch dafür bieten Programmiersprachen bereits entsprechende Methoden. In JavaScript bspw. heißen sie <code class="language-js"><span class="token function">getDate</span><span class="token punctuation">(</span><span class="token punctuation">)</span></code>, <code class="language-js"><span class="token function">getMonth</span><span class="token punctuation">(</span><span class="token punctuation">)</span></code>.</p> </blockquote> <p>Siehst Du, wir brauchen Methoden welche die entsprechenden Eigenschaften rausrücken! Z.B. <code>getYear4Kalenderwoche()</code> und <code>getYear4Datum()</code> und das war genau das, was ich gestern bei meiner <a href="http://rolfrost.de/daysinkw.html?year=2018&week=52&find=1" rel="nofollow noopener noreferrer">Anwendung</a> nachgeholt habe (danke Pit).</p> <p>Das ist ja der Sinn einer objektorientierten Programmierung, daß man mit Veränderungen besser zurechtkommt. So hatte meine Methode <code>kw()</code> zur Berechnung der KW zwar auch das dazugehörige Jahr schon berechnet aber nicht zurückgegeben, weil bis dahin die Ausgabe der KW nur eine Frage der Formatierung war und das zur KW gehörige Jahr als Rückgabewert in bisherigen Anwendungen keine Rolle spielte.</p> <p>Anstatt nun diesen Rückgabewert anders zu formatieren (also das Jahr hinzuzufügen), was Änderungen in ungezählten anderen Anwendungen nach sich gezogen hätte, genügte es, das zur KW gehörige Jahr in eine weitere Eigenschaft der Datuminstanz zu setzen und diese Eigenschaft <code>year4kw</code> public zu machen, fertig.</p> <p>Zur eigentlichen Berechnung des zur KW gehörigen Jahres benötigt man 2 Dinge, den Tag zur ersten Kalenderwoche und die Anzahl möglicher Kalenderwochen eines Jahres (DIN1355).</p> <p>Schönen Sonntag </p> Datumrechnereien, Algorithmen Sun, 07 Jan 18 12:13:21 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711528#m1711528 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711528#m1711528 <p>Tach!</p> <blockquote> <p>Es gibt aber 3 Fälle bezüglich eines zur KW gehörigen Jahres:</p> <ol> <li>das KWJahr ist dasselbe wie das Jahr zum Datum</li> <li>das KWJahr fällt in das nächste Jahr (Montag, 31.12.2018 KW 01/19)</li> <li>das KWJahr fällt in das vorherige Jahr (Sonntag, 1.1.2017 KW 52/16 )</li> </ol> <p>Ob Dein Algorithmus alle Fälle abdeckt, wäre zu prüfen.</p> </blockquote> <p>Da muss man bei PHP nichts weiter prüfen, denn date('W') liefert die richtige Wochennummer zu jedem Zeitpunkt, ohne Ausnahmen.</p> <p>dedlfix.</p> Datumrechnereien, Algorithmen Sun, 07 Jan 18 12:43:11 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711531#m1711531 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711531#m1711531 <p>@@dedlfix</p> <blockquote> <blockquote> <p>Es gibt aber 3 Fälle bezüglich eines zur KW gehörigen Jahres: Da muss man bei PHP nichts weiter prüfen, denn date('W') liefert die richtige Wochennummer zu jedem Zeitpunkt, ohne Ausnahmen.</p> </blockquote> </blockquote> <p>Es ging doch aber ums Jahr, nicht die Woche?</p> <p>Wie ich schon sagte: Da muss man bei PHP nichts weiter implementieren, denn date('o') liefert das richtige Jahr zu jedem Zeitpunkt, ohne Ausnahmen.</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien, Algorithmen Sun, 07 Jan 18 14:03:17 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711539#m1711539 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711539#m1711539 <p><a href="/users/20" class="mention registered-user" rel="noopener noreferrer">@Gunnar Bittersmann</a></p> <blockquote> <blockquote> <blockquote> <p>Es gibt aber 3 Fälle bezüglich eines zur KW gehörigen Jahres: Da muss man bei PHP nichts weiter prüfen, denn date('W') liefert die richtige Wochennummer zu jedem Zeitpunkt, ohne Ausnahmen.</p> </blockquote> </blockquote> <p>Es ging doch aber ums Jahr, nicht die Woche?</p> <p>Wie ich schon sagte: Da muss man bei PHP nichts weiter implementieren, denn date('o') liefert das richtige Jahr zu jedem Zeitpunkt, ohne Ausnahmen.</p> </blockquote> <p>Es kommt aber darauf an, nicht das Jahr schlechthin sondern das zur <strong>Kalenderwoche gehörige richtige Jahr</strong> zu liefern.</p> <p>Und hier beginnt für <a href="/users/20" class="mention registered-user" rel="noopener noreferrer">@Gunnar Bittersmann</a> und <a href="/users/27" class="mention registered-user" rel="noopener noreferrer">@dedlfix</a> die Problemgeschichte wieder von vorne, weils entweder nicht verstehen oder nicht verstehen wollen, daß man das mit PHPs Datumsformatierungsfunktionen allein nicht lösen kann. MfG</p> Datumrechnereien, Algorithmen Sun, 07 Jan 18 14:11:12 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711541#m1711541 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711541#m1711541 <p>Hallo pl,</p> <blockquote> <p>Es kommt aber darauf an, nicht das Jahr schlechthin sondern das zur <strong>Kalenderwoche gehörige richtige Jahr</strong> zu liefern.</p> <p>Und hier beginnt für <a href="/users/20" class="mention registered-user" rel="noopener noreferrer">@Gunnar Bittersmann</a> und <a href="/users/27" class="mention registered-user" rel="noopener noreferrer">@dedlfix</a> die Problemgeschichte wieder von vorne, weils entweder nicht verstehen oder nicht verstehen wollen, daß man das mit PHPs Datumsformatierungsfunktionen allein nicht lösen kann. MfG</p> </blockquote> <p>Versteh ich nich - erklär mal.</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> Datumrechnereien, Algorithmen Sun, 07 Jan 18 14:13:05 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711542#m1711542 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711542#m1711542 <p>@@pl</p> <blockquote> <blockquote> <p>Wie ich schon sagte: Da muss man bei PHP nichts weiter implementieren, denn date('o') liefert das richtige Jahr zu jedem Zeitpunkt, ohne Ausnahmen.</p> </blockquote> <p>Es kommt aber darauf an, nicht das Jahr schlechthin sondern das zur <strong>Kalenderwoche gehörige richtige Jahr</strong> zu liefern.</p> </blockquote> <p>Ach? Und <code class="language-php"><span class="token function">date</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'o'</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'2016-01-01'</span><span class="token punctuation">)</span><span class="token punctuation">)</span></code> liefert genau was? Richtig, <code>2015</code>.</p> <blockquote> <p>Und hier beginnt für <a href="/users/20" class="mention registered-user" rel="noopener noreferrer">@Gunnar Bittersmann</a> und <a href="/users/27" class="mention registered-user" rel="noopener noreferrer">@dedlfix</a> die Problemgeschichte wieder von vorne, weils entweder nicht verstehen oder nicht verstehen wollen, daß man das mit PHPs Datumsformatierungsfunktionen allein nicht lösen kann.</p> </blockquote> <p>Und hier beginnt für @pl die Problemgeschichte wieder von vorne: alle anderen verstehen nicht, nur pl hat den vollen Durchblick. Nur dass die Geschichte nicht wahr ist und wohl auch niemals wahr werden wird.</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien, Algorithmen Sun, 07 Jan 18 14:14:03 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711543#m1711543 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711543#m1711543 <p>@@Matthias Apsel</p> <blockquote> <p>Versteh ich nich</p> </blockquote> <p>Du gehörst halt zu uns.</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien, Algorithmen Sun, 07 Jan 18 14:37:38 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711545#m1711545 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711545#m1711545 <p>hi,</p> <blockquote> <p>Ach? Und <code class="language-php"><span class="token function">date</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'o'</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'2016-01-01'</span><span class="token punctuation">)</span><span class="token punctuation">)</span></code> liefert genau was? Richtig, <code>2015</code>.</p> </blockquote> <p>Das mag sein. PHPs Datumsformatierungsfunktionen sind mächtig, verstehe. So mächtig, daß man damit eine Ausgabe wie <code>Freitag, 01.01.2016 KW 53/2015</code> mit einer einzigen Ausgabe erzeugen kann?</p> <p>Das will ich sehen </p> Datumrechnereien, Algorithmen Sun, 07 Jan 18 14:59:21 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711547#m1711547 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711547#m1711547 <p>@@pl</p> <blockquote> <blockquote> <p>Ach? Und <code class="language-php"><span class="token function">date</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'o'</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'2016-01-01'</span><span class="token punctuation">)</span><span class="token punctuation">)</span></code> liefert genau was? Richtig, <code>2015</code>.</p> </blockquote> <p>Das mag sein. PHPs Datumsformatierungsfunktionen sind mächtig, verstehe. So mächtig, daß man damit eine Ausgabe wie <code>Freitag, 01.01.2016 KW 53/2015</code> mit einer einzigen Ausgabe erzeugen kann?</p> </blockquote> <p>Ja.</p> <blockquote> <p>Das will ich sehen </p> </blockquote> <p>Das dafür notwendige Rüstzeug hatte ich schon verlinkt. Wie wär’s, wenn du das mal Übung selber machst?</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien, Algorithmen Sun, 07 Jan 18 15:05:07 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711548#m1711548 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711548#m1711548 <blockquote> <blockquote> <blockquote> <p>Ach? Und <code class="language-php"><span class="token function">date</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'o'</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'2016-01-01'</span><span class="token punctuation">)</span><span class="token punctuation">)</span></code> liefert genau was? Richtig, <code>2015</code>.</p> </blockquote> <p>Das mag sein. PHPs Datumsformatierungsfunktionen sind mächtig, verstehe. So mächtig, daß man damit eine Ausgabe wie <code>Freitag, 01.01.2016 KW 53/2015</code> mit einer einzigen Ausgabe erzeugen kann?</p> </blockquote> <p>Ja.</p> <blockquote> <p>Das will ich sehen </p> </blockquote> <p>Das dafür notwendige Rüstzeug hatte ich schon verlinkt. Wie wär’s, wenn du das mal Übung selber machst?</p> </blockquote> <p>Ok, ich in Perl:</p> <pre><code class="block language-perl"><span class="token keyword">my</span> <span class="token variable">$k</span> <span class="token operator">=</span> Kalenderwoche<span class="token operator">-></span>new<span class="token punctuation">(</span> date <span class="token operator">=></span> <span class="token string">"1.1.2016"</span><span class="token punctuation">)</span> <span class="token operator">or</span> <span class="token keyword">die</span> <span class="token variable">$@</span><span class="token punctuation">;</span> printf <span class="token string">"%s, %02d.%02d.%04d KW %d/%d"</span><span class="token punctuation">,</span> <span class="token variable">$k</span><span class="token operator">-></span>wochentag<span class="token punctuation">,</span> <span class="token variable">$k</span><span class="token operator">-></span>day<span class="token punctuation">,</span> <span class="token variable">$k</span><span class="token operator">-></span>month<span class="token punctuation">,</span> <span class="token variable">$k</span><span class="token operator">-></span>year<span class="token punctuation">,</span> <span class="token variable">@</span><span class="token punctuation">{</span><span class="token variable">$k</span><span class="token operator">-></span>kwy<span class="token punctuation">}</span><span class="token punctuation">;</span> <span class="token comment"># Freitag, 01.01.2016 KW 53/2015</span> </code></pre> <p>Du in PHP:</p> Datumrechnereien, Algorithmen Sun, 07 Jan 18 15:20:28 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711549#m1711549 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711549#m1711549 <blockquote> <p>Ok, ich in Perl:</p> <pre><code class="block language-perl"><span class="token keyword">my</span> <span class="token variable">$k</span> <span class="token operator">=</span> Kalenderwoche<span class="token operator">-></span>new<span class="token punctuation">(</span> date <span class="token operator">=></span> <span class="token string">"1.1.2016"</span><span class="token punctuation">)</span> <span class="token operator">or</span> <span class="token keyword">die</span> <span class="token variable">$@</span><span class="token punctuation">;</span> printf <span class="token string">"%s, %02d.%02d.%04d KW %d/%d"</span><span class="token punctuation">,</span> <span class="token variable">$k</span><span class="token operator">-></span>wochentag<span class="token punctuation">,</span> <span class="token variable">$k</span><span class="token operator">-></span>day<span class="token punctuation">,</span> <span class="token variable">$k</span><span class="token operator">-></span>month<span class="token punctuation">,</span> <span class="token variable">$k</span><span class="token operator">-></span>year<span class="token punctuation">,</span> <span class="token variable">@</span><span class="token punctuation">{</span><span class="token variable">$k</span><span class="token operator">-></span>kwy<span class="token punctuation">}</span><span class="token punctuation">;</span> <span class="token comment"># Freitag, 01.01.2016 KW 53/2015</span> </code></pre> <p>Du in PHP:</p> </blockquote> <pre><code class="block language-php"><span class="token keyword">echo</span> <span class="token function">myHiddenFreakySuperMagic</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"1.1.2016"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment"># Freitag, 01.01.2016 KW 53/2015</span> </code></pre> <p>Noch kürzer! Daumen hoch!</p> Datumrechnereien, Algorithmen Sun, 07 Jan 18 15:53:35 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711555#m1711555 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711555#m1711555 <p>Hallo pl,</p> <blockquote> <p>Du in PHP:</p> </blockquote> <pre><code class="block language-php"><span class="token keyword">echo</span> <span class="token function">date</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"l, d.m.Y \K\W W/o"</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"01.01.2016"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Freitag, 01.01.2016 KW 53/2015</span> </code></pre> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> Datumrechnereien, Algorithmen Mon, 08 Jan 18 08:58:05 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711584#m1711584 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711584#m1711584 <blockquote> <pre><code class="block language-php"><span class="token keyword">echo</span> <span class="token function">myHiddenFreakySuperMagic</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"1.1.2016"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment"># Freitag, 01.01.2016 KW 53/2015</span> </code></pre> <p>Noch kürzer! Daumen hoch!</p> </blockquote> <p>Genau. Daß PHP intern objektorientiert arbeitet, das wissen nicht einmal die PHP Programmierer. Da kommt dann eben son Käse raus wie <em>das Jahr ausgeben ist nur eine Frage der Formatierung des Timestamps</em> -- lächerlich.</p> Datumrechnereien, Algorithmen Sun, 07 Jan 18 15:57:48 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711556#m1711556 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711556#m1711556 <blockquote> <blockquote> <p>Du in PHP:</p> </blockquote> <pre><code class="block language-php"><span class="token keyword">echo</span> <span class="token function">date</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"l, d.m.Y \K\W W/o"</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"01.01.2016"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Freitag, 01.01.2016 KW 53/2015</span> </code></pre> </blockquote> <p>Also gehts ja doch. Danke.</p> Datumrechnereien, Algorithmen Mon, 08 Jan 18 11:05:06 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711595#m1711595 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711595#m1711595 <p>@@Matthias Apsel</p> <blockquote> <pre><code class="block language-php"><span class="token keyword">echo</span> <span class="token function">date</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"l, d.m.Y \K\W W/o"</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"01.01.2016"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Freitag, 01.01.2016 KW 53/2015</span> </code></pre> </blockquote> <p>Huch? PHP kennt die Namen der Wochentage auf deutsch? Wie hast du das hinbekommen?</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien, Algorithmen Sun, 07 Jan 18 16:03:56 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711557#m1711557 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711557#m1711557 <p>@@pl</p> <blockquote> <p>Also gehts ja doch. Danke.</p> </blockquote> <p>Wieso „doch“? Hatte das irgendwer ernsthaft bezweifelt, dass das geht?</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien, Algorithmen Sun, 07 Jan 18 16:19:46 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711559#m1711559 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711559#m1711559 <p>Hi,</p> <blockquote> <blockquote> <p>Also gehts ja doch. Danke.</p> </blockquote> <p>Wieso „doch“? Hatte das irgendwer ernsthaft bezweifelt, dass das geht?</p> </blockquote> <p>da fehlt ein " außer pl" nach dem "irgendwer".</p> <p>cu,<br> Andreas a/k/a MudGuard</p> Datumrechnereien, Algorithmen Sun, 07 Jan 18 17:48:33 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711569#m1711569 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711569#m1711569 <p>@@MudGuard</p> <blockquote> <blockquote> <blockquote> <p>Also gehts ja doch. Danke.</p> </blockquote> <p>Wieso „doch“? Hatte das irgendwer ernsthaft bezweifelt, dass das geht?</p> </blockquote> <p>da fehlt ein " außer pl" nach dem "irgendwer".</p> </blockquote> <p>Nö, den hatte ich durch das „ernsthaft“ schon wohlweislich ausgeschlossen. </p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien, Algorithmen Mon, 08 Jan 18 09:09:24 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711585#m1711585 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711585#m1711585 <p>@@pl</p> <blockquote> <p>Da kommt dann eben son Käse raus wie <em>das Jahr ausgeben ist nur eine Frage der Formatierung des Timestamps</em> -- lächerlich.</p> </blockquote> <p>Genau das wurde dir gezeigt: dass das Jahr ausgeben nur eine Frage der Formatierung des Timestamps ist.</p> <p>Dass du das immer noch als Käse bezeichnest ist – nun ja – lächerlich.</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien, Algorithmen Mon, 08 Jan 18 11:25:43 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711598#m1711598 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711598#m1711598 <p>Hallo Gunnar Bittersmann,</p> <blockquote> <blockquote> <pre><code class="block language-php"><span class="token keyword">echo</span> <span class="token function">date</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"l, d.m.Y \K\W W/o"</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"01.01.2016"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Freitag, 01.01.2016 KW 53/2015</span> </code></pre> </blockquote> <p>Huch? PHP kennt die Namen der Wochentage auf deutsch? Wie hast du das hinbekommen?</p> </blockquote> <p>das war nicht PHP. </p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> Datumrechnereien, Algorithmen Mon, 08 Jan 18 11:29:48 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711599#m1711599 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711599#m1711599 <p>@@Gunnar Bittersmann</p> <blockquote> <blockquote> <pre><code class="block language-php"><span class="token keyword">echo</span> <span class="token function">date</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"l, d.m.Y \K\W W/o"</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"01.01.2016"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Freitag, 01.01.2016 KW 53/2015</span> </code></pre> </blockquote> <p>Huch? PHP kennt die Namen der Wochentage auf deutsch? Wie hast du das hinbekommen?</p> </blockquote> <p>So geht’s aber:</p> <pre><code class="block language-php"><span class="token function">setlocale</span> <span class="token punctuation">(</span><span class="token constant">LC_ALL</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'de_DE'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">echo</span> <span class="token function">strftime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"%A, %d.%m.%Y KW %V/%G"</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"01.01.2016"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p><a href="https://secure.php.net/manual/de/function.date.php" rel="nofollow noopener noreferrer">Doku</a> sagt: <em>„Um Datumsangaben in anderen Sprachen auszugeben, sollten Sie die Funktionen <a href="https://php.net/manual/de/function.setlocale.php" rel="noopener noreferrer">setlocale()</a> und <a href="https://php.net/manual/de/function.strftime.php" rel="noopener noreferrer">strftime()</a> statt date() verwendet werden.“</em></p> <p>LLAP </p> <p>PS: Und was muss man nun als Locale angeben, damit für den 02.01.2016 „Sonnabend“ ausgegeben wird, nicht „Samstag“?</p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien, Algorithmen Mon, 08 Jan 18 11:30:05 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711600#m1711600 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711600#m1711600 <p>Tach!</p> <blockquote> <p>Huch? PHP kennt die Namen der Wochentage auf deutsch? Wie hast du das hinbekommen?</p> </blockquote> <p>"To format dates in other languages, you should use the setlocale() and strftime() functions instead of date()." sagt die Handbuchseite zu <a href="http://php.net/manual/en/function.date.php" rel="noopener noreferrer">date()</a>.</p> <p>dedlfix.</p> Datumrechnereien, Algorithmen Mon, 08 Jan 18 11:42:18 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711603#m1711603 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711603#m1711603 <blockquote> <p>Huch? PHP kennt die Namen der Wochentage auf deutsch? Wie hast du das hinbekommen?</p> </blockquote> <p>date kann es nicht, aber <a href="https://secure.php.net/manual/en/function.strftime.php" rel="nofollow noopener noreferrer">strftime</a>, da redet man dann aber quasi direkt mit der zuständigen C-Lib.</p> Datumrechnereien, Algorithmen Mon, 08 Jan 18 11:37:56 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711602#m1711602 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711602#m1711602 <p>@@Gunnar Bittersmann</p> <blockquote> <p>PS: Und was muss man nun als Locale angeben, damit für den 02.01.2016 „Sonnabend“ ausgegeben wird, nicht „Samstag“?</p> </blockquote> <p>Zumindest das geht:</p> <pre><code class="block language-php"><span class="token function">setlocale</span> <span class="token punctuation">(</span><span class="token constant">LC_ALL</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'de_DE'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">echo</span> <span class="token function">strftime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"%A, %e. %B %Y KW %V/%G"</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"01.01.2016"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Freitag, 1. Januar 2016 KW 53/2015</span> </code></pre> <pre><code class="block language-php"><span class="token function">setlocale</span> <span class="token punctuation">(</span><span class="token constant">LC_ALL</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'de_AT'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">echo</span> <span class="token function">strftime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"%A, %e. %B %Y KW %V/%G"</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"01.01.2016"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Freitag, 1. Jänner 2016 KW 53/2015</span> </code></pre> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> Datumrechnereien, Algorithmen Mon, 08 Jan 18 11:48:55 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711607#m1711607 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711607#m1711607 <blockquote> <p>PS: Und was muss man nun als Locale angeben, damit für den 02.01.2016 „Sonnabend“ ausgegeben wird, nicht „Samstag“?</p> </blockquote> <p>de_DE-MV vielleicht? Ich würde allerdings nicht erwarten, dass sowas implementiert ist.</p> Datumrechnereien, Algorithmen Mon, 08 Jan 18 16:50:22 Z https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711632#m1711632 https://forum.selfhtml.org/self/2018/jan/5/datumrechnereien/1711632#m1711632 <p>Hi,</p> <blockquote> <pre><code class="block language-php"><span class="token function">setlocale</span> <span class="token punctuation">(</span><span class="token constant">LC_ALL</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'de_DE'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">echo</span> <span class="token function">strftime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"%A, %d.%m.%Y KW %V/%G"</span><span class="token punctuation">,</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"01.01.2016"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>PS: Und was muss man nun als Locale angeben, damit für den 02.01.2016 „Sonnabend“ ausgegeben wird, nicht „Samstag“?</p> </blockquote> <p>'de_SP' (saupreißisch)?</p> <p>cu,<br> Andreas a/k/a MudGuard</p>