:
August 2015 Su Mo Tu We Th Fr Sa 1 %U => 30 2 3 4 5 6 7 8 %U => 31 9 10 11 12 13 14 15 %U => 32
edelim yolunu istediğimiz bir Wed- Tue haftası, %?
biçiminde kısaltılmıştır (bu nedenle "Wed, hafta başlar" yazmamıza gerek kalmaz).
Biz istiyoruz:
August 2015 We Th Fr Sa Su Mo Tu 1 2 3 4 %? => 30 5 6 7 8 9 10 11 %? => 31 12 13 14 15 %? => 32
Bildirimi nasıl iki sistemde de aynı hafta sayısında Biz-Sa kalmak, haftanın diğer tüm günleri %?
önceki haftaya taşınır ise.
yüzden bunu yapabilirsiniz: Eğer Sat-Cum hafta isteseydim
startd = Date.new(2015, 8, 1)
# show whole month
pp (startd .. (startd >> 1)-1).map {|d|
origw = d.strftime('%U').to_i
# Adjust our new week number if not We-Sa:
neww = ([3, 4, 5, 6].include?(d.wday) ? origw : origw-1)
[d.to_s, origw, neww]
}
, değil günlerce 1 çıkarma yapabilirsiniz Cumartesi'yi:
d.wday == 6 ? origw : origw-1
Not birkaç olduğuna Kenar durumları, haftanızı seçeceğinize bağlı olarak (bunları kullanmak okuyucu için bir egzersiz olarak bırakılmıştır). Bizim Çar-Sal Hafta için:
- Yıl Çar ile 2014 başlar, ama bizim algoritma (
%U
haftada 1 bugün Pazar eğer 1 Ocak koyar) haftada 0 yılında Oca 1 koyar ama hafta 1 olmalıdır.
- Yıl 2007 (ve Mon veya Salı günü başlayacak diğer yaş) hafta içinde olmak ilk Çar günler önce neden olacaktır -1 ancak 0.
hafta haftanın gün daha olmalı sen ayarlıyorsunuz, sahip olacağınız daha fazla kenarlık. Sat-Cum haftası muhtemelen en çok problemi yaşayacaktır çünkü 7 gün içinde 6'yı ayarlıyorsunuz.
Belki bu standardı kullanın ve sonra haftanın günlerine göre kendi ofsetini hesaplayın ... – Randy
Pazar -> Cumartesi sadece Amerikan standarttır. Uluslararası standart pazartesi -> pazar. – sawa