Open mrchypark opened 5 years ago
I think this is because it's easier to implenment when calculating the correct the Excel numeric value of the datetime object, as R stores the datetime numeric value based on the UTC 1970-01-01 00:00:00, regardless of the timezone ... I find this inconvinient, too.
Excel doesn't have support for timezones and stores everything as UTC. So unfortunately, this isn't really fixable.
I vote to close as can't/won't fix.
writexl::write_xlsx() function just write datetime data as string like "2021-04-17 14:16:40 UTC". https://github.com/ropensci/writexl/blob/master/src/write_xlsx.c#L89
So, My suggestion is write datetime data with timezone text like "2021-04-17 23:16:17 KST".
xlsx is not only database for machine, but also communication docs with human.
I think datetime storing as string with tz is good to R user work with others.
I think datetime storing as string with tz is good to R user work with others.
That is certainly fine and that can be done by the user in the dataframe before exporting it, i.e., they can convert a datetime column to a character string column.
However, I don't think that it would be a good solution to export all datetimes to Excel as strings. This would prevent users from doing calculations based on them or graphing them.
So I think writexl should honour the conversion from R datatypes to Excel data types (where possible). Users will have to work around the Excel limitation of losing the timezone information.
@jmcnamara
Thanks for the great comment.
I first noticed that Excel does not support time zones.
I understand that the current writexl package does not use Excel's datetime type as long as it is processed as a string. So, I asked if we intended to treat it as a string. My feedback was provided as an improvement in the current state.
I change time zone in R object. but writexl function save to UTC timezone.
So, I use as.character before save but it's confuse.
Is this the intended behavior?