Вот что я пытаюсь достичь - я настроил планировщик для выполнения полночи каждой пятницы, которая собирает данные из службы для даты начала последней пятницы в 00:00:00 и заканчивает время последнего четверг в 23:59:59. Поскольку он должен работать каждый пятница, я не могу жестко закодировать даты, поэтому я подумал о том, чтобы попробовать DateTime.Как вычесть объект даты и времени из даты?
В соответствии с моим требованием, если я выполняю работу в эту пятницу, например, в «2014-12-12T03: 00: 00Z», тогда моя дата начала должна быть «2014-12-05T00: 00: 00Z «и моя дата окончания должна быть« 2014-12-11T23: 59: 59Z ».
Чтобы получить даты начала и окончания, я пытаюсь вычесть дни из моего объекта now. Это то, что я пробовал:
now = DateTime.now
p now.new_offset(0).to_s
startDate = now - 7
p startDate.new_offset(0).to_s
endDate = now - 1
p endDate.new_offset(0).to_s
Это дает мне правильную дату, но время не так то вместо даты начала с 00:00:00 и дата окончания с 23:59:59 это будет дата начала с 03:00:00 и заканчивается с 03:00:00.
Как изменить объект DateTime, чтобы получить дату начала со временем в начале дня и в конце даты со временем в конце дня?
Извините, что я плохо отношусь к датам. Заранее спасибо!!
Вы можете использовать: 'start_date = (Дата .current - 7.days) .beginning_of_day'; 'end_date = (Date.current + 7.days) .end_of_day' – MrYoshiji