Trả lời

39

Tìm thấy một cách tiếp cận thoải mái qua Rails Internationalization (I18n) API

dữ liệu và định dạng thời gian có thể 'được dịch' bằng cách thêm định dạng vào cấu hình i18n.

config/miền địa phương/en.yml

en: 
    date: 
    formats: 
     default: "%d/%m/%Y" 
    time: 
    formats: 
     default: "%d/%m/%Y %H:%M" 

Lưu ý: nhớ để không có các tab cho sự thụt lề, như tôi đã lần đầu tiên :)


Như đã đề cập bởi NoelProf trong các ý kiến

Để sử dụng chuyển đổi i18n, đừng quên chữ L (chữ thường L) trước ngày trong lượt xem! Ví dụ: <% = l your_date%>

Bạn được mời nhận xét nếu bạn tìm thấy các cách khác hoạt động tốt.

+0

tuyệt vời .. đã lưu cho tôi một thời gian :) – whizcreed

+4

Để sử dụng chuyển đổi i18n, đừng quên chữ L (chữ thường L) trước ngày bạn xem! Ví dụ: '<% = l your_date%>' – NoelProf

21

Thêm này

# Date 
Date::DATE_FORMATS[:default] = "%d/%m/%Y" 

# Time 
Time::DATE_FORMATS[:default] = "%d/%m/%Y %H:%M" 

để config/initializers/date_time.rb

Sau đó khởi động lại máy chủ.

+1

Có phải điển hình để sử dụng 'date_time.rb' làm tên tệp không? Tôi biết điều đó không quan trọng nhưng trong ví dụ mã từ http://api.rubyonrails.org/classes/DateTime.html#method-i-to_formatted_s nó hiển thị 'time_format.rb'. – Kirk

3

Nếu bạn sử dụng chuyển đổi i18n, đừng quên phương pháp l trước ngày bạn xem!

<%= l your_date %> 
+0

xin lỗi không thể thêm ý kiến ​​cho đến nay ... –

+0

Chào mừng bạn đến với StackOverflow, vui lòng chỉnh sửa câu trả lời của bạn để làm cho người hỏi hỏi hiểu rõ hơn về giải pháp của bạn. –

Các vấn đề liên quan