Date Time, as.POSIXct used locale, strange plot behavior
On Fri, 30 Apr 2021, Tilmann Faul writes:
Dear Jeff,
Thanks for your answer.
Sys.timezone() gives
[1] "Europe/Berlin"
I tried "Europe/Berlin" as tz argument, giving the same result als using
"CEST" (Central European Summer Time).
It seems to me, that using as.POSIXct without tz argument defaults to tz
UTC and with tz argument, either "CEST" or "Europ/Berlin" uses the
European tz, regarding the plot.
Never the less i do not understand why all of them have the same time
printout on my system.
as.POSIXct("2021-04-21 00:00:00", tz="CEST")
# [1] "2021-04-21 CEST"
as.POSIXct("2021-04-21 00:00:00", tz="Europ/Berlin")
# [1] "2021-04-21 Europ"
as.POSIXct("2021-04-21 00:00:00")
# [1] "2021-04-21 CEST"
Can someone comment on that, please?
best Regards
Tilmann
Timezone names in general are not portable (i.e. not
safe to use). You may always specify a timezone name,
but it may be ignored:
as.POSIXct("2021-04-21 00:00:00", tz = "PartyTime")
## "2021-04-21 PartyTime"
So just because your system prints "CEST", it does not
mean it has recognised it as a timezone. (To make it
even more complicated: your system may display a time
as "CEST", meaning a time in Central European Summer
Time, but still not accept "CEST" as _input_ for a
timezone name.)
'POSIXct' represents time as a number (seconds since
1970). To compare the results of different calls, it is
easier to compare those numbers.
dput(as.POSIXct("2021-04-21 00:00:00", tz="CEST"))
## structure(1618963200, class = c("POSIXct", "POSIXt"), tzone = "CEST")
dput(as.POSIXct("2021-04-21 00:00:00", tz="PartyTime"))
## structure(1618963200, class = c("POSIXct", "POSIXt"), tzone = "PartyTime")
dput(as.POSIXct("2021-04-21 00:00:00", tz="Europe/Berlin"))
## structure(1618956000, class = c("POSIXct", "POSIXt"), tzone = "Europe/Berlin")
dput(as.POSIXct("2021-04-21 00:00:00"))
## structure(1618956000, class = c("POSIXct", "POSIXt"), tzone = "")
So in your case, "CEST" is (most likely) not recognised
as a valid input for a timezone name, and hence it is
ignored, but still displayed.
HTH
Enrico
On 29.04.21 23:19, Jeff Newmiller wrote:
What is your TZ environment variable set to? That's what time conversion defaults to ?DateTimeClasses Also, I am not sure CEST is a valid timezone designation... it can be system dependent, but using one of the elements listed in ?OlsonNames. On April 29, 2021 12:22:44 PM PDT, Tilmann Faul <Tilmann_Faul at t-online.de> wrote:
Hy,
stumbled over the following problem while plotting DateTime Objects.
plot(as.POSIXct(c("2021-04-21 00:00:00", "2021-04-21 23:59:59")), c(0,
1), type='l')
arrows(as.POSIXct("2021-04-21 00:00:00", tz="CEST"),
0.3,
as.POSIXct("2021-04-21 00:00:00", tz="CEST"),
0.2,
length=0.07, angle=15)
# arrow at 02:00, why?
arrows(as.POSIXct("2021-04-21 00:00:00"),
0.3,
as.POSIXct("2021-04-21 00:00:00"),
0.2,
length=0.07, angle=15, col='red')
# arrow at 00:00 as expected
as.POSIXct(c("2021-04-21 00:00:00", "2021-04-21 23:59:59"))[1]
# [1] "2021-04-21 CEST"
as.POSIXct("2021-04-21 00:00:00", tz="CEST")
# [1] "2021-04-21 CEST"
as.POSIXct("2021-04-21 00:00:00")
# [1] "2021-04-21 CEST"
all representations on my system are the same, why is the plot location
of the arrows different??
I am located in Germany, my locale:
Sys.getlocale()
[1]
"LC_CTYPE=de_DE.UTF-8;LC_NUMERIC=C;LC_TIME=de_DE.UTF-8;LC_COLLATE=de_DE.UTF-8;LC_MONETARY=de_DE.UTF-8;LC_MESSAGES=de_DE.UTF-8;LC_PAPER=de_DE.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=de_DE.UTF-8;LC_IDENTIFICATION=C"
Any Idea?
Best regards
Tilmann
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Enrico Schumann Lucerne, Switzerland http://enricoschumann.net