>>>>> Martin Maechler writes: Currently in R-devel,
R> as.POSIXlt.Date function (x, ...) { if (any((y <- unclass(x)) > .Machine$integer.max, na.rm = TRUE)) as.POSIXlt(.POSIXct(y * 86400), tz = "UTC") else .Internal(Date2POSIXlt(x)) } R> as.POSIXct.Date function (x, ...) .POSIXct(unclass(x) * 86400) Adding tz to the latter is easy, and the former could do the if() part also with a given tz without needing to change the .Internal? Best -k >>>>> Roland Fuß >>>>> on Tue, 20 Sep 2022 09:25:52 +0200 writes: >> Hello, May I follow up on this? Has it fallen through the >> cracks or were there considerations against passing `tz` >> to `.POSIXct`? >> Regards, >> Roland > Hmm... I don't remember even though I had replied positively > to your question in May 2018. > PROS (for allowing 'tz') to be passed to > ---- as.POSIXct.Date() and hence ideally also to as.POSIXlt.Date() > 1) as.POSIXct() and as.POSIXlt() all show with a 'tz' argument > on the help page, and hence for consistency users should > really expect that 'tz = ".."' also works in these two cases: > Usage: > as.POSIXct(x, tz = "", ...) > as.POSIXlt(x, tz = "", ...) > ## S3 method for class 'character' > as.POSIXlt(x, tz = "", format, > tryFormats = c("%Y-%m-%d %H:%M:%OS", > "%Y/%m/%d %H:%M:%OS", > "%Y-%m-%d %H:%M", > "%Y/%m/%d %H:%M", > "%Y-%m-%d", > "%Y/%m/%d"), > optional = FALSE, ...) > ## Default S3 method: > as.POSIXlt(x, tz = "", > optional = FALSE, ...) > ## S3 method for class 'numeric' > as.POSIXlt(x, tz = "", origin, ...) > 2) It is easy to be implemented for as.POSIXct() as you found > already in 2018. > CONS: > ----- > 3) The 'Details:' section on the help page, > end of 1st paragraph says > Dates without times are treated as being at midnight UTC. > So the current hardwired behavior is documented. > 4a) For as.POSIXlt.Date() to allow passing 'tz' needs changes > in the C code, i.e., is considerable more work than for the as.POSIXct(), > (or actually just post-processing in the R code, much less work) > 4b) Only changing the behavior for as.POSIXct() but not for as.POSIXlt() > is also an inconsistency. > My personal inclination would still be to do the change, > by giving most weight to '1)' above. > What do other experienced R developers think ? > Martin >> Am 17.05.2018 um 19:55 schrieb Martin Maechler: >>>>>>>> Roland Fuß on Wed, 16 May 2018 17:21:07 +0200 >>>>>>>> writes: >>> > R 3.5.0 Is it intended that the Date method of >>> as.POSIXct > does not respect the tz parameter? I suggest >>> changing > as.POSIXct.Date >>> >>> which is >>> >>> function (x, ...) .POSIXct(unclass(x) * 86400) >>> >>> > to this: >>> >>> function (x, tz = "", ...) .POSIXct(unclass(x) * 86400, >>> tz = tz) >>> >>> or rather just forward the '...', i.e., use >>> >>> function (x, ...) .POSIXct(unclass(x) * 86400, ...) >>> >>> ?? >>> >>> > Currently, the best workaround seems to be using the > >>> character method if one doesn't want the default timezone >>> > (which is often an annoying DST timezone). >>> >>> > This came up on Stack Overflow: > >>> https://stackoverflow.com/q/50373340/1412059 >>> >>> > -- >>> > Roland >>> >>> Thank you Roland for your notice (and the help on SO). >>> >>> Best, Martin >> -- >> Dr. Roland Fuß >> Thünen-Institut für Agrarklimaschutz/ Thünen Institute of >> Climate-Smart Agriculture >> Bundesallee 65 D-38116 Braunschweig, Germany >> Tel.: ++49 531 596 2627 Fax: ++49 531 596 2699 Email: >> roland.f...@thuenen.de >> Arbeitsgruppe "Emissionsberichterstattung"/ Working group >> "Emission Inventories" Email: >> emissionsinvent...@thuenen.de >> Das Johann Heinrich von Thünen-Institut, >> Bundesforschungsinstitut für Ländliche Räume, Wald und >> Fischerei – kurz: Thünen-Institut – besteht aus 15 >> Fachinstituten, die in den Bereichen Ökonomie, Ökologie >> und Technologie forschen und die Politik beraten. >> The Johann Heinrich von Thünen Institute, Federal Research >> Institute for Rural Areas, Forestry and Fisheries – Thünen >> Institute in brief – consists of 15 specialized institutes >> that carry out research and provide policy advice in the >> fields of economy, ecology and technology. > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel