r - 如何在 R 中将波斯日期转换为公历?

标签 r date

<分区>

我想在 R 中将波斯历日期(例如 1399/03/27)转换为公历日期。R 中有这样做的函数吗?

最佳答案

正如 @RuiBarradas 在评论中指出的,我们可以使用 ConvCalendar::OtherDate。由于该软件包不再位于 CRAN 上,我们首先需要从源代码安装它:

# p.url <- "https://cran.r-project.org/src/contrib/Archive/ConvCalendar/ConvCalendar_1.2.tar.gz"
# install.packages(p.url,
#                  repos=NULL, type="source")

OtherDate 需要向量中的日、月和年,并按此顺序。它创建类 "OtherDate" 的类列表对象,可以将其输入 as.Date 以返回公历日期。

library(ConvCalendar)
persian <- OtherDate(day=27, month=03, year=1399, calendar="persian")
gregorian <- as.Date(persian)
gregorian
# [1] "2020-06-16"

我们可以更自动地使用 do.call

persian <- "1399/03/27"
persian <- do.call(OtherDate, c(as.list(rev(el(strsplit(persian, "/")))), 
                                calendar="persian"))
gregorian <- as.Date(persian)
gregorian
# [1] "2020-06-16"

关于r - 如何在 R 中将波斯日期转换为公历?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62455880/

相关文章:

r - 加载 dyplyr 和 tidyverse 时 namespaceExport(ns,exports) 出错

python - 如何在 Pandas 中显示正确的日期世纪?

javascript - 从 Google Calendar API 检索 "All Day"事件时,如何考虑时区偏移?

r - 如何在for循环R中连接表

r - 将组副标题和小计行添加到 R 中的 data.frame 或表

r - 如何在整个数据框中找到最小值的索引?

mysql - 如何替换列中的日期年份

java - 使用 Java 在 PostgreSQL 中存储时间的最推荐方法是什么?

ios - 根据星期几显示不同的消息

r - 如何在没有管理员权限的情况下安装 R 包?