Türkiye'de çok kullandığımız birşey olmasa da yılın içinde kaçıncı hafta olduğumuz bilgisi bazen faydalı olabiliyor. Powershell'de bu işi doğrudan Get-Date'i formatlayarak yapabiliriz:
Get-Date -UFormat %V
İlk haftanın hangisi olacağı ölçütü var. Bazı kültürlerde yılın ilk haftası olarak ilk tam hafta (FirstFullWeek), diğerlerinde yılın ilk gününün olduğu hafta (FirstDay) ötekilerde ise ilk 4 veya daha günlük hafta olarak kabul edilir [1].
Türkçe Windows'da bunu öğrenmenin yolu:
$kultur = Get-Culture
$kultur.DateTimeFormat.CalendarWeekRule
FirstDay
Yani yılın ilk gününün olduğu hafta bizde yılın ilk haftası kabul ediliyor. 1 Ocak Pazar bile olsa ertesi gün 2 Ocak bizim için yılın ikinci haftası. Değiştirmek mi istiyoruz? Olur [2, 3]:
$kulturBilgisi = [System.Globalization.CultureInfo]::InvariantCulture
$takvim = $kulturBilgisi.calendar
$takvimYilinIlkHaftasi = [System.Globalization.CalendarWeekRule]::FirstFourDayWeek
$haftaninIlkGunu = [System.DayOfWeek]::Sunday
$suAn = Get-Date
$haftaNo = $takvim.GetWeekOfYear($suAn, $takvimYilinIlkHaftasi, $haftaninIlkGunu)
"ISO 8601 standardına göre hafta numarası: $weekNumber"
Bu satırlar da yılın ilk haftasının en az 4 günü olan bir hafta olması ve haftanın ilk günün Pazar olması kuralına göre hesaplar.
Eski günlerden kalma güzel bir çalışma da Scripting Guy'a ait.
Hiç yorum yok:
Yorum Gönder