# given a mid-month date, get the month-end date

6 messages
Open this post in threaded view
|

## given a mid-month date, get the month-end date

 I have a vector of dates.       I wish to find the month end date for each.       Any suggestions?       e.g.       For 12/15/05, I want 12/31/05,       For 10/15/1995, I want 10/31/1995, etc __________________________________________________         [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Open this post in threaded view
|

## Re: given a mid-month date, get the month-end date

 Here is one way using POSIX: (you can create a function to do this) > x <- as.POSIXlt('2005-12-16')  # a date > x [1] "2005-12-16" > dput(x)  #structure of the date structure(list(sec = 0, min = 0, hour = 0, mday = 16, mon = 11,     year = 105, wday = 5, yday = 349, isdst = 0), .Names = c("sec", "min", "hour", "mday", "mon", "year", "wday", "yday", "isdst" ), class = c("POSIXt", "POSIXlt")) > x\$mday <- 1  # reset to first of the month > seq(x, by='month', length=2)[2]  # select 2nd number in the sequence [1] "2006-01-01 EST" > On 12/19/05, t c <[hidden email]> wrote: > > I have a vector of dates. > > I wish to find the month end date for each. > > Any suggestions? > > e.g. > > For 12/15/05, I want 12/31/05, > > For 10/15/1995, I want 10/31/1995, etc > > > __________________________________________________ > > > >        [[alternative HTML version deleted]] > > ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help> PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html> -- Jim Holtman Cincinnati, OH +1 513 247 0281 What the problem you are trying to solve?         [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Open this post in threaded view
|

## Re: given a mid-month date, get the month-end date

 Forgot you were asking for the end date, so just subtract a day: > seq(x, by='month', length=2)[2] - 24*3600 [1] "2005-12-31 EST" On 12/19/05, jim holtman <[hidden email]> wrote: > > Here is one way using POSIX: (you can create a function to do this) > > > x <- as.POSIXlt('2005-12-16')  # a date > > x > [1] "2005-12-16" > > dput(x)  #structure of the date > structure(list(sec = 0, min = 0, hour = 0, mday = 16, mon = 11, >     year = 105, wday = 5, yday = 349, isdst = 0), .Names = c("sec", > "min", "hour", "mday", "mon", "year", "wday", "yday", "isdst" > ), class = c("POSIXt", "POSIXlt")) > > x\$mday <- 1  # reset to first of the month > > seq(x, by='month', length=2)[2]  # select 2nd number in the sequence > [1] "2006-01-01 EST" > > > > > >  On 12/19/05, t c <[hidden email]> wrote: > > > > I have a vector of dates. > > > > I wish to find the month end date for each. > > > > Any suggestions? > > > > e.g. > > > > For 12/15/05, I want 12/31/05, > > > > For 10/15/1995, I want 10/31/1995, etc > > > > > > __________________________________________________ > > > > > > > >        [[alternative HTML version deleted]] > > > > ______________________________________________ > > [hidden email] mailing list > > https://stat.ethz.ch/mailman/listinfo/r-help> > PLEASE do read the posting guide! > > http://www.R-project.org/posting-guide.html > > > > > > -- > Jim Holtman > Cincinnati, OH > +1 513 247 0281 > > What the problem you are trying to solve? -- Jim Holtman Cincinnati, OH +1 513 247 0281 What the problem you are trying to solve?         [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Open this post in threaded view
|

## Re: given a mid-month date, get the month-end date

 In reply to this post by t c-4 The zoo package has a yearmon class with as methods which can be used: library(zoo) dd <- Sys.Date()  # test data as.Date(as.yearmon(dd), frac = 1) as.yearmon converts the "Date" class date to a year and month of class "yearmon" dropping the day and representing it internally in a way consistent with "ts" class. as.Date above then converts it back to "Date" class. Since yearmon dates have no day (they are just a year and a month) the frac argument is used to indicate what fraction of the month to use as the day of the month so frac = 0 (the default) would give the beginning of the month) and frac = 1 gives the end. On 12/19/05, t c <[hidden email]> wrote: >  I have a vector of dates. > >  I wish to find the month end date for each. > >  Any suggestions? > >  e.g. > >  For 12/15/05, I want 12/31/05, > >  For 10/15/1995, I want 10/31/1995, etc > > > __________________________________________________ > > > >        [[alternative HTML version deleted]] > > ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html> ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html