Comments (3)
I went ahead and did this, but can undo it if necessary.
So now the user can specify how to work with DST:
date <- as.POSIXct("2009-03-08 01:59:00")
"2009-03-08 01:59:00 CST"
relative - consistent clock time
options(DST = "relative")
date + days(1)
"2009-03-09 01:59:00 CDT"
exact - consistent time lengths
options(DST = "exact")
date + days(1)
"2009-03-09 02:59:00 CDT"
from lubridate.
This also solves
mday(date) <- 9
date
"2009-03-09 02:59:00 CDT"
setting day value, also "set" hour value. Is this desirable? User can avoid with:
options(DST = "relative")
mday(date) <- 9
date
"2009-03-09 01:59:00 CDT"
from lubridate.
I removed the options method. When a period is added to a date-time, R will ignore DST and just change to clock time of the date appropriately. When a duration is added to a date, R will maintain exact time intervals. So if DST occurs the resulting clock time will differ by an hour.
For one hour out of the year, this will appear not to work: when springing ahead (in the spring) the hour from 2:00am - 3:00am does not exist. R will express these clock times in the 1:00 hour. But all period math works, and once the date-time leaves this hour the clock time will appear appropriately. This is an R issue and I don't know how to change it.
from lubridate.
Related Issues (20)
- as_datetime() HOT 1
- Problems with POSIXct in R 4.3.2 HOT 1
- 'OO' format option not recognized for parsing ISO 8601 time zone offsets
- `parse_date_time()` cannot match missing zeroes
- Inconsistent behavior of `parse_date_time()` inside `dplyr::mutate()` HOT 2
- month() and otehrs fail on objects from class 'timeDate'
- ymd_hms() function left-pads some dates that have missing "seconds" values
- round_date in 0.1 sec doesn't work correctly
- FR: int_overlaps with exclusive endpoints
- unique() always zero for periods HOT 1
- Implement Set Operations methods for Dates HOT 1
- Parsing dates with `my` seems to have a limit size
- Do we need something like `%m-%` to subtract years from leap 02/29? HOT 1
- Cannot compute `<date> + lubridate::year(1)` when `<date>` is a leap day. HOT 1
- m:s:ms time data
- `dmy()` not failing (and returning incorrect date) on wrong date format
- ceiling_date() issue when using multi units
- Fractional Seconds with conversion and rounding/truncation?
- mdy("04 July 2019") GIVES "2019-04-20" : Instead should give an error.
- data.table merge doesn't work with intervals HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lubridate.