How convert Persian date to Gregorian in R? [closed]

妖精的绣舞 提交于 2021-02-10 15:13:07

问题


I want to convert a Persian calendar date (e.g. 1399/03/27) to a Gregorian calendar date in R. Is there any function to do so in R?


回答1:


As @RuiBarradas pointed out in comments, we may use ConvCalendar::OtherDate. Since the package is no longer on CRAN we first need to install it from source:

# 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 wants day, month, and year separately in a vector and in this order. It creates a list-like object of class "OtherDate" that can be fed into as.Date to return Gregorian date.

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

More automatically we may use 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"


来源:https://stackoverflow.com/questions/62455880/how-convert-persian-date-to-gregorian-in-r

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!