From: Whit Armstrong <whit_at_twinfieldscapital.com>

Date: Tue 20 Dec 2005 - 04:50:41 EST

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide!

http://www.R-project.org/posting-guide.html

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Dec 20 04:55:18 2005

Date: Tue 20 Dec 2005 - 04:50:41 EST

Or add a month, then subtract a day:

Ndays <- function(posix.ct.dates,days) {

# one day = 60*60*24 = 86400 seconds ans <- as.POSIXct(posix.ct.dates) + 86400*days

# we only have a problem if the date went from
# DST to ST or from ST to DST

ans + (as.POSIXlt(posix.ct.dates)$isdst -
as.POSIXlt(ans)$isdst)*3600

}

calendar.eom <- function(x) {

x.lt <- as.POSIXlt(x)

mon <- x.lt $mon + 2

year <- x.lt$year

# if month was December add a year

year <- year + as.integer(mon==13)

mon[mon==13] <- 1

Ndays(ISOdate(1900+year,mon,1,hour=0,tz=attr(x,"tzone")),-1) }

x <- seq(as.POSIXct("2001-01-10"),as.POSIXct("2005-12-10"),by="months") data.frame(before=x,after=calendar.eom(x))

-----Original Message-----

From: r-help-bounces@stat.math.ethz.ch

[mailto:r-help-bounces@stat.math.ethz.ch] On Behalf Of Gabor
Grothendieck

Sent: Monday, December 19, 2005 11:59 AM
To: t c

Cc: r-help

Subject: Re: [R] given a mid-month date, get the month-end date

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 <quantpm@yahoo.com> 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]]
**>
**> ______________________________________________
**> R-help@stat.math.ethz.ch mailing list
**> https://stat.ethz.ch/mailman/listinfo/r-help
**> PLEASE do read the posting guide!
**> http://www.R-project.org/posting-guide.html
**>
*

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide!

http://www.R-project.org/posting-guide.html

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Dec 20 04:55:18 2005

*
This archive was generated by hypermail 2.1.8
: Tue 20 Dec 2005 - 09:30:53 EST
*