Почему индексы Rails Weekday отличаются от индексов Ruby?

в Rails 3.0.10

ruby-1.9.2-p180 :010 > Time::DAYS_INTO_WEEK
 => {:monday=>0, :tuesday=>1, :wednesday=>2, :thursday=>3, :friday=>4, :saturday=>5, :sunday=>6} 

И

ruby-1.9.2-p180 :011 > Date.today
 => Mon, 10 Oct 2011 
ruby-1.9.2-p180 :012 > Date.today.wday
 => 1 

Итак, понедельник равен 0 в сопоставлении времени и 1 в сопоставлении даты.
https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/time/calculations.rb

Мне кажется, что начать с воскресенья, поскольку ноль - более безопасный, более распространенный, более вероятно, что кто-то другой его поймет. Я надеялся понять историю / рассуждения на случай, если я что-то упущу.

Мой вариант использования: я явно сохраняю день недели в своей базе данных. Я подумал, что хранение в виде целого числа будет более эффективным и более простым для работы, чем сохранение «понедельника», «вторника» и т. Д.

PS У меня возникла прекрасная идея сделать что-то вроде следующего. Отображение строк дня недели и обратно внутри методов (скрытие целого числа).

ruby-1.9.2-p180 :010 > Time::DAYS_INTO_WEEK
 => {:monday=>0, :tuesday=>1, :wednesday=>2, :thursday=>3, :friday=>4, :saturday=>5, :sunday=>6} 
Time::DAYS_INTO_WEEK[day_of_week.downcase.to_sym]
Time::DAYS_INTO_WEEK.to_a.select{|k, v| v == start_day }.first.first.to_s.capitalize

9
задан John Hinnegan 10 October 2011 в 09:54
поделиться