Какой самый эффективный способ получить первый день текущего месяца? С ruby я пытаюсь получить формат даты как таковой: 2009-10-01 Где я беру текущую дату (2009-10-26), а затем меняю день на "01". Я знаю, как это сделать, но было любопытно, что самый короткий путь, код мудрый, чтобы снять это. Ответ 1 Time.parse("2009-10-26").strftime("%Y-%m-01") Ответ 2 Если вы не возражаете, включая ActiveSupport в своем приложении, вы можете просто сделать это: require 'active_support' date = Date.today.beginning_of_month Ответ 3 require 'date' now = Date.today Date.new(now.year, now.month, 1) Ответ 4 Если вам нужен объект даты без ActiveSupport, вы можете вернуться к последнему дню последнего месяца и сумме 1. Date.today - Date.today.mday + 1 Ответ 5 Наиболее эффективная для начала и окончания текущего месяца @date = DateTime.now @date.beginning_of_month @date.end_of_month Ответ 6 Это работает... Не ужасно умный:/ require 'date' Date.parse(Date.parse("2009-10-26").to_s[0,8] << "01") Ответ 7 require 'active_support/core_ext' Date.today.beginning_of_month Ответ 8 Как Date.today.beginning_of_day Date.today.end_of_day и Date.today.beginning_of_week Date.today.end_of_week Там также есть Date.today.beginning_of_year Date.today.end_of_year
Ответ 2 Если вы не возражаете, включая ActiveSupport в своем приложении, вы можете просто сделать это: require 'active_support' date = Date.today.beginning_of_month
Ответ 4 Если вам нужен объект даты без ActiveSupport, вы можете вернуться к последнему дню последнего месяца и сумме 1. Date.today - Date.today.mday + 1
Ответ 5 Наиболее эффективная для начала и окончания текущего месяца @date = DateTime.now @date.beginning_of_month @date.end_of_month
Ответ 6 Это работает... Не ужасно умный:/ require 'date' Date.parse(Date.parse("2009-10-26").to_s[0,8] << "01")
Ответ 8 Как Date.today.beginning_of_day Date.today.end_of_day и Date.today.beginning_of_week Date.today.end_of_week Там также есть Date.today.beginning_of_year Date.today.end_of_year