2011-01-30 38 views
52

Tôi đang cố gắng tạo lịch của riêng mình vì tôi không thể nhận được bất kỳ trợ giúp nào với lịch sự kiện vì vậy những gì tôi đang cố gắng làm là Hiển thị ngày trong tuần tức là .. Ngày 1 tháng 1 năm 2011 là thứ bảy là có một lệnh đơn giản để có được ngày hôm đó hoặc làm tôi cần cái gì khácRails 3 Tìm ngày trong tuần

Trả lời

107

bạn không thể sử dụng time.wday, 0 = chủ nhật và vân vân

+2

hoạt động tốt hơn Ngày :: DAYNAMES [tháng] cảm ơn sự giúp đỡ –

+2

@Rod có nghĩa là Ngày :: DAYNAMES [wday];) thx! – jobwat

+0

Hoàn hảo !!! Cảm ơn) –

4

Nếu bạn đang cố gắng để viết lịch của riêng bạn từ đầu và muốn viết hàm để tra cứu ngày, bạn có thể muốn xem Conway's Doomsday Algorithm, là một phương pháp thú vị để xác định ngày trong tuần vào bất kỳ ngày cụ thể nào. Nếu không, standard time class có phương thức wday trả về một số từ 0-6 (0 là Chủ Nhật, 1 là Thứ Hai, v.v.).

+1

tôi tìm thấy Date.today.beginning_of_month.wday hoạt động chính xác theo cùng một cách cho những gì tôi đang tìm kiếm nhưng tôi sẽ xem xét liên kết của bạn để xem liệu nó có thể làm cho cuộc sống của tôi dễ dàng hơn không. –

3

Chúng tôi có thể sử dụng Time.now.utc.wday để nhận ngày trong tuần mà không xem xét khu vực.

139

Bạn cũng có thể nhận được các chuỗi, như "thứ tư", sử dụng time.strftime ("% A")

+14

đây phải là câu trả lời được chấp nhận! –

+0

Câu trả lời hay nhất! Cảm ơn bạn – Vlad

0

Cả hai tùy chọn này sẽ cung cấp cho bạn những chuỗi ngày (ví dụ như "Saturday".) Cho thời điểm nhất định:

ngày cụ thể:

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

Hôm nay:

Date.today.strftime('%A') 
Các vấn đề liên quan