Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to obtain first day of next month in ruby?

I have a date of operation. I want create promissory notes which have got:

day=1 month= the next month of operation_date year= automatic 

Example :

operation_date = 15/11/2010  promissory_note1_date = 1/12/2010 promissory_note2_date = 1/01/2011 promissory_note3_date = 1/02/2011 promissory_note4_date = 1/02/2011 

if exist four promissory notes

How could I make it?

PD: Excuse me my syntax

like image 700
maxiperez Avatar asked Dec 09 '10 15:12

maxiperez


2 Answers

You can do

require "active_support"  require "active_support/core_ext/date/calculations" # || require "active_support/all"  Date.today.at_beginning_of_month #=> Wed, 01 Dec 2010  Date.today.at_beginning_of_month.next_month #=> Sat, 01 Jan 2011  Date.today.at_beginning_of_month.next_month.next_month #=> Tue, 01 Feb 2011 

And so on...

References

Rails guide 3.0 - 6.1.4 - ActiveSupport - How to Load Core Extensions
Rails guide 3.0 - 6.1.4 - ActiveSupport - Extensions to date

like image 144
jordinl Avatar answered Oct 15 '22 00:10

jordinl


In case you are not using rails or do not wish to require active_support, I found a simpler way without active_support

(Date.today - Date.today.mday + 1) # First day of the current month => Thu, 01 Dec 2016 

Hope this helps! :-)

like image 34
Sagar Ranglani Avatar answered Oct 15 '22 00:10

Sagar Ranglani