Hi,

I'm working with objects of classes "Date","POSIXlt" and "POSIXct" and still
having some Date/Time-related concepts unclear. In the documentation of
"as.Date" one can find:

"The 'as.Date' methods accept ... '"POSIXlt"' and '"POSIXct"'. (The last are
converted to days by ignoring the time after midnight in the representation
of the time in UTC.)"


As far as why "POSIXct" ignores the time after midnight is still open
question for me and some basic hints about why this happens would be greatly
appreciated? Having mentioned this one can avoid an eventual confusion when
interpreting the following:


 x1 = as.POSIXlt("2008-01-02 00:58:00")

x2 = as.POSIXct("2008-01-02 00:58:00")

as.Date(x1); as.Date(x2)

[1] "2008-01-02"

[1] "2008-01-01"


 which happened to me at the beginning. Aside from this, my real problem was
with the (very) unexpected behavior of the 'as.data.frame'-function which
seems to coerce the class '"POSIXlt"' to class '"POSIXct"' and consequently
making my life considerably harder through:

as.Date(as.data.frame(x1)[1,1])

[1] "2008-01-01"

where

as.Date(x1)

[1] "2008-01-02"


Can anyone offer me a strong evidence that exactly this behaviour of R gives
me advantage over the "naturally" expected conversion to "2008-01-02"?
Thanks in advance.

	[[alternative HTML version deleted]]

