2012-05-26 16 views
7

Kullanıcının geçerli diline yerelleştirilmiş, JavaScript'in günlerinin günlerini öğrenmek istiyorum; tercihen şu an kullandığımdan biraz daha güzel bir şeyle:Hafta içi yerelleştirilmiş gün alma

var weekDays = []; 
var d = new Date(); 

while(d.getDay() > 0) { 
    d.setDate(d.getDate() + 1); 
} 

while(weekDays.length < 7) { 
    weekDays.push(d.toLocaleDateString().match(/\w+/)[0]); 
    d.setDate(d.getDate() + 1); 
} 

Bunu yapmanın kolay bir yolu var mı? Yoksa sadece olabildiğince çok yer için tarih dizisi vermek zorunda mıyım?

+0

sadece günlerini depolamak eğer Haftayı, ilk kez döngüden geçmek yerine tarihi pazartesiye başlatabilirsiniz. Daha sonra haftanın her günü döngü yapın ve hafta içi dizinin içindeki bu değerleri önbelleğe alın. – Travis

+0

Size 'toLocaleDateString' güvenilir görünmüyor uyarmak istiyorum. Windows ve Chrome'un Hollandaca sürümündeyim, ancak bir dizi İngilizce hafta içi isimleri alıyorum. – pimvdb

cevap

14

Ben örneğin Date.toLocaleString() kullanın:

d = new Date(); 
d.toLocaleString(window.navigator.language, {weekday: 'long'}); 

veya

d.toLocaleString('sk-SK', {weekday: 'short'}); 
Bunu yapmanın başka bir yolunu düşünüyorum, ama olamaz
+0

Huh! Her ne kadar bu soruyu kullanıyor olsam da, tartışmaları aldığını hiç bilmiyordum! Teşekkür ederim. – Ryan

4

Datejs'e bir göz atın, yerelleştirmeyi çok güzel işler. Birçok küreselleşme kurulumuna sahip. Sadece mevcut CultureInfo'nizin globalleşme kurulumunu yüklersiniz ve datejs diğerlerinin bakımıyla ilgilenir.

Javascript Date Localization

İlgili konular