2011-01-30 17 views
52

Kendi takvimi yapmaya çalışıyorum çünkü etkinlik takvimi ile ilgili herhangi bir yardım alamıyorum çünkü ne yapmaya çalıştığım haftanın gününü gösterir yani .. Ocak 1 2011 Cumartesi kolay bir komut o gün olsun veya i başka bir şey lazım yapmaktırRaylar 3 Haftanın gününü bulma

cevap

107

Eğer time.wday, 0 = pazar günü ve kullanılamaz böylece

+2

bundan daha iyi çalışır Tarih :: DAYNAMES [month] yardımın için teşekkürler –

+2

@Rod demek Tarih :: DAYNAMES [wday];) thx! – jobwat

+0

Mükemmel !!! Teşekkürler) –

4

Eğer sıfırdan kendi takvimi yazmaya çalışıyorsanız ve Günlük arama yapmak için bir işlev yazmak istiyorsanız, herhangi bir tarihte haftanın gününü belirlemek için ilginç bir yöntem olan Conway's Doomsday Algorithm adresine göz atmak isteyebilirsiniz. Aksi takdirde, standard time class, 0'dan 6'ya kadar bir sayı döndüren bir wday yöntemine sahiptir (0, Pazar, 1, Pazartesi'dir, vb.).

+1

Date.today.beginning_of_month.wday, aradığım şey için tam olarak aynı şekilde çalışıyor, ancak hayatımı kolaylaştırıp kolaylaştırmayacağını görmek için bağlantınıza bir göz atacağım. –

3

Bölgeyi dikkate almadan haftanın gününü almak için Time.now.utc.wday'ı kullanabiliriz.

139

Ayrıca kullanarak, "Çarşamba" gibi dize alabilirsiniz time.strftime ("% A")

+14

bu kabul edilen cevap olmalı! –

+0

En iyi cevap! teşekkür ederim – Vlad

0

Bu seçeneklerin ikisi de size belirtilen tarih için gün dizesini (örneğin, "Cumartesi".) Verecek:

Belirli tarih:

Date.new(2011, 1, 1).strftime('%A') # returns "Saturday" 

Bugün:

Date.today.strftime('%A')