Nandu Nandu - 3 months ago 8
R Question

getting prevoius month start date and end date from current date in R

Is there any easy way for getting start date and end date of previous month from the current date in R?

I have only the current date. From it, i want to get the previous month, start date of previous month, end date of previous month.

currentDate<-Sys.Date() #return today's date as "2012-11-07"


I want the previous month start date as 2012-10-01 and end date as 2012-10-31 from today's date.

Answer

A number of packages have handy date functions, but to roll your own:

A start of month function:

som <- function(x) {
  as.Date(format(x, "%Y-%m-01"))
}

and an end of month function (although you won't need this here):

eom <- function(x) {
  som(som(x) + 35) - 1
}

That should get you going. For example, to get the end of the previous month:

som(Sys.Date()) - 1
[1] "2012-10-31"

and the start of the month:

som(som(Sys.Date()) - 1)
[1] "2012-10-01"