On Mon, 12 Dec 2005, Peter Dalgaard wrote:

Prof Brian Ripley <[EMAIL PROTECTED]> writes:

On Mon, 12 Dec 2005, ronggui wrote:

x<-as.Date(c("2005-07-01", "2005-07-02","2005-07-03","2005-07-04","2005-07-05"))
weekdays(x)
[1] "ÐÇÆÚÎå" "ÐÇÆÚÁù" "ÐÇÆÚÈÕ" "ÐÇÆÚÒ»" "ÐÇÆÚ¶þ"

months(x)
[1] "ÆßÔÂ" "ÆßÔÂ" "ÆßÔÂ" "ÆßÔÂ" "ÆßÔÂ"


He asked for week numbers.  That's nothing like as easy, as it is not
well-defined.  But

strftime(as.POSIXlt(x), "%U")
[1] "26" "26" "27" "27" "27"

is one possibility ("%W" is another).  This approach will do the other
requests just as easily.

%W seems to be what is known as "ISO dates" (week starts on Monday),
except that

 strftime(as.POSIXlt(as.Date("2005-01-01")), "%U")
[1] "00"

should be week 53, 2004 according to my printed calendar, and emacs
calendar-mode too.

I _did_ say

That's nothing like as easy, as it is not well-defined.

The POSIX definition is

%U
    Replaced by the week number of the year as a decimal number [00,53].
    The first Sunday of January is the first day of week 1; days in the
    new year before this are in week 0.

%W
    Replaced by the week number of the year as a decimal number [00,53].
    The first Monday of January is the first day of week 1; days in the
    new year before this are in week 0.

so it is doing what it is documented to do. I'd take POSIX as more definitive than Emacs ....

--
Brian D. Ripley,                  [EMAIL PROTECTED]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595
______________________________________________
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

Reply via email to