Files
nlnieuws/cmd/ISOWeek/ISOWeek.go
Peter Kleiweg 36f051a8a9 first commit
2026-03-02 15:34:37 +01:00

49 lines
626 B
Go

package main
/*
Waarom?
We willen year-week, bijvoorbeeld 2025-52
Als de datum 1 januari 2027 is, dan geeft dit:
date +%Y-%V
... dit:
2027-53
Dat is fout. Het moet zijn:
2026-53
Dit programma geeft wel de juiste uitvoer.
*/
import (
"github.com/pebbe/util"
"fmt"
"os"
"strconv"
"time"
)
var (
x = util.CheckErr
)
func main() {
// arg 1: aantal dagen opgeteld bij huidige datum
d, err := strconv.Atoi(os.Args[1])
x(err)
location, err := time.LoadLocation("Europe/Amsterdam")
x(err)
year, week := time.Now().AddDate(0, 0, d).In(location).ISOWeek()
fmt.Printf("%d-%02d\n", year, week)
}