2017-11-24 3 views
1

Die Funktion woche() in Julia DateTime Implementierung gibt die Wochennummer des Jahres mit ISO Kalender zurück, was bedeutet, dass Montag der erste Tag der Woche ist. In den USA ist der Sonntag der erste Wochentag, an dem die Wochenzahl um 1 verringert wird. Gibt es eine Möglichkeit, den ersten Wochentag als Sonntag für die Funktion woche() festzulegen?julia datetime wochennummer für usa

+1

Julia folgt SI/ISO Konventionen. (Aber alle Schlüsselwörter der Sprache, alle Funktionen, die in Base definiert sind, die gesamte Dokumentation, alle Github-Inhalte und alle Diskussionen finden auf Englisch statt; also gibt es das). –

Antwort

2

Montag ist in den Code eingebacken.

Es sieht so aus, als müssten Sie nur damit umgehen.

d = DateTime(2017,11,25) # Saturday 
w = Dates.issunday(d) ? Dates.week(d) + 1 : Dates.week(d) 
# 47 

d = DateTime(2017,11,26) # Sunday 
w = Dates.issunday(d) ? Dates.week(d) + 1 : Dates.week(d) 
# 48 

Julia 0.6.1 See JuliaDirectory/share/julia/base/Termine/accessors.jl Linie 35

# https://en.wikipedia.org/wiki/Talk:ISO_week_date#Algorithms 
const WEEK_INDEX = (15, 23, 3, 11) 
function week(days) 
    w = div(abs(days - 1), 7) % 20871 
    c, w = divrem((w + (w >= 10435)), 5218) 
    w = (w * 28 + WEEK_INDEX[c + 1]) % 1461 
    return div(w, 28) + 1 
end 
+0

Vielen Dank. Sehr hilfreich –