tidyverse / lubridate

Make working with dates in R just that little bit easier
https://lubridate.tidyverse.org
GNU General Public License v3.0
734 stars 207 forks source link

Feature request: Excel date origin #1167

Open NickCH-K opened 4 months ago

NickCH-K commented 4 months ago

lubridate is an extremely good package for handling dates and date conversion. However, it does not accept perhaps one of the most common forms of date data: dates from Excel. Thankfully, many Excel-file-reading functions do this conversion for you, but when they don't it's always one more time Googling to figure out how to convert properly (or, worse, not realizing how oddly Excel handles dates and getting things 70 years off).

The actual task here is very easy, since it just requires setting origin = "1899-12-30". There are many ways this could be implemented, but one simple approach would be, since there is already lubridate::origin, to also have lubridate::excel_origin set to as.POSIXct('1899-12-30').

Maybe this is a bit left-field, but after Googling the correct date for the fiftieth time it occurs to me that this would be a useful convenience function.

markushhh commented 2 months ago

Excel has two date systems link I assume you want 1900 as default an not 1904, right? That's something to look out for when implementing this.

It's best not to rely on excel formats in the first place. Try working with iso 8601.

Disclaimer: not a maintainer. I have no idea what the current stance on this is.