<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Dagsblikk: kalender i kode]]></title><description><![CDATA[Tekniske notater om å forklare norske kalenderregler og datoer. Dagsblikk er en norsk publikasjon, med Jonas Bjarne Nilsen Hansen som skribent og redaktør. Her ]]></description><link>https://dagsblikk.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6ada5850106819373ed54d0c/f0cc395d-71e6-4e0f-9856-d8293e954316.png</url><title>Dagsblikk: kalender i kode</title><link>https://dagsblikk.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Fri, 23 Oct 2026 20:18:18 GMT</lastBuildDate><atom:link href="https://dagsblikk.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Ukeåret er en egen verdi: et lite JavaScript-eksempel]]></title><description><![CDATA[Slik skiller du ukeår fra kalenderår. Et avgrenset JavaScript-eksempel med UTC og to datoer ved nyttår, forklart av Dagsblikk.]]></description><link>https://dagsblikk.hashnode.dev/uke-ret-er-en-egen-verdi-et-lite-javascript-eksempel</link><guid isPermaLink="true">https://dagsblikk.hashnode.dev/uke-ret-er-en-egen-verdi-et-lite-javascript-eksempel</guid><dc:creator><![CDATA[Jonas Bjarne Nilsen Hansen]]></dc:creator><pubDate>Thu, 22 Oct 2026 19:23:32 GMT</pubDate><content:encoded><![CDATA[<p>En datoguide kan vise riktig kalenderdato og likevel gi et ufullstendig ukenummer. Grunnen er at ISO-ukeåret kan være et annet enn kalenderåret. På Dagsblikk arbeider vi med norske kalenderoversikter; denne notisen viser én av forskjellene en slik oversikt må forklare.</p>
<h2>Begynn med torsdag</h2>
<p>I ISO-systemet går uka fra mandag til søndag. Uke 1 er uka som inneholder 4. januar, eller årets første torsdag. En praktisk måte å finne ukeåret på er derfor å flytte datoen til torsdagen i samme uke. Året til denne torsdagen er ukeåret.</p>
<pre><code class="language-javascript">function isoWeek(dateText) {
  const date = new Date(dateText + 'T00:00:00Z');
  if (Number.isNaN(date.getTime())) throw new Error('Ugyldig dato');
  const weekday = date.getUTCDay() || 7;
  date.setUTCDate(date.getUTCDate() + 4 - weekday);
  const year = date.getUTCFullYear();
  const firstDay = new Date(Date.UTC(year, 0, 1));
  const week = Math.ceil((((date - firstDay) / 86400000) + 1) / 7);
  return { year, week };
}

console.log(isoWeek('2027-01-01')); // { year: 2026, week: 53 }
console.log(isoWeek('2027-01-04')); // { year: 2027, week: 1 }
</code></pre>
<p>UTC brukes her for å behandle en ren datoverdi uten at maskinens lokale tidssone endrer hvilken dato beregningen tar utgangspunkt i. Eksemplet er avgrenset til en gyldig dato på formen ÅÅÅÅ-MM-DD; en produksjonsløsning bør også kontrollere at inndata faktisk er den kalenderdatoen brukeren skrev.</p>
<h2>Vis datoene sammen med uken</h2>
<p>En leser som ser «uke 53» trenger gjerne mandagens og søndagens dato. Ved årsskiftet er det også nyttig å skrive ukeåret uttrykkelig. Fredag 1. januar 2027 tilhører intervallet mandag 28. desember 2026 til søndag 3. januar 2027. Å lese kalenderåret som ukeåret ville gitt feil etikett.</p>
<p>Det finnes mange ferdige datobiblioteker. Poenget her er å gjøre datamodellen tydelig: dato, uke og ukeår er tre opplysninger. Det er verdt å ha egne sjekker for de siste dagene i desember og de første dagene i januar.</p>
<p>Se <a href="https://dagsblikk.com/kalender/ukenummer/">Dagsblikks ukenummeroversikt</a> for den redaksjonelle presentasjonen. <a href="https://dagsblikk.com/om-oss/">Om Dagsblikk</a> forklarer publikasjonen og arbeidsmåten. Jonas Bjarne Nilsen Hansen er skribent og redaktør; rettelser kan sendes til <a href="mailto:info@dagsblikk.com">info@dagsblikk.com</a>.</p>
]]></content:encoded></item></channel></rss>