Vecknumrering enligt ISO-8601

Started by tannler, December 11, 2008, 12:49:30 PM

Previous topic - Next topic

tannler

År 2009 är ett udda år så tillvida att det finns 53 veckor, eller rättare sagt 53 vckonummer, i det. Detta är precis som standaren ISO-8601 anger, MEN smf vill inte riktgt veta av det, utan väljer att numrera från Ett fr.o.m. 2009-12-28 och sedan ligga en vecka före under hela 2009. Är det ingen lösning på väg, så att vi som ansluter oss till ISO-8601, kan få korrekta veckonummer även efter 2009-12-27?

Jag har fått uppfattningen att detta "varit på tal i evigheter"

Daniel Hofverberg

Problemet med veckonummer har mycket riktigt varit på tal i evigheter, men såvitt jag vet finns ännu ingen lösning på det.

Problemet är alltså att SMF bara anger veckonummer enligt amerikansk standard, vilket innebär att den vecka som innehåller den 1 januari blir vecka 1. Men i de flesta europeiska länder (plus vissa andra) används som sagt istället ISO-8601, så att vecka 1 innebär den vecka där minst fyra dagar ligger i samma år (d.v.s. den vecka som innehåller den första torsdagen blir alltså vecka 1).

Det här är onekligen irriterande, och för ungefär ett år sedan försökte jag själv att ändra i koden för att visa rätt veckonummer. Men tyvärr blev det för komplicerat för mig, och jag lyckades aldrig. Sen har jag glömt bort det i ett år, i och med att 2008 års veckonummer varit lika överallt. När jag hinner ska jag försöka göra ett nytt försök med att ändra i koden, och se om det går att få till på något någorlunda enkelt sätt.

Jag har också startat ett nytt ämne nu på tavlan Feature Requests, så att europeisk veckonumrering förhoppningsvis kan läggas till i SMF. Vi får se vad de svarar...

tannler

OK - jag håller dock inte med om att det är en "europeisk feature" vi efterlyser, utan en möjlighet att använda den gällande SIS-standarden. Den amerikanska "lösningen" är en "lokal avvikelse" - and should be treated as such.

Tyvärr saknar jag sakkunskap för att ens komma på idén att hjälpa till med kod-pillandet, men jag kan släppa ärendet i knät på min php-guru.

Daniel Hofverberg

Riktigt så enkelt är det inte, eftersom fler länder än USA använder standarden med 1 januari (även om det är lite egendomligt). Tyvärr finns det ett flertal olika sätt att beräkna veckonummer, och även om många länder använder gällande ISO-standard, så är det långt ifrån alla. Enligt uppgift finns det sju olika sätt att beräkna veckonummer, som alla används i viss mån. Men om man lägger till stöd för ISO-8601 utöver amerikansk standard i SMF, så bör det i alla fall täcka in de allra flesta forum, så att det inte behövs ta hänsyn till ännu fler märkliga standarder.

Det är lite märkligt varför just veckonummer ska vara så krångligt. Men det är ju egentligen samma sak med hur man skriver ut datum, då SMF heller inte som standard anger datumen för inlägg enligt ISO-8601 (d.v.s. ÅÅÅÅ-MM-DD).

Men så här går det när de flesta av huvudprogrammerarna till både SMF och andra program/skript bor i USA...  ::)

Advertisement: