将波斯语(贾拉利历)日期转换为公历日期

Transform Persian (Jalali Calendar) dates to Gregorian dates

如何根据 R 中的公历自动将 Persian dates(Jalali/Iranian 日历)转换为日期?

假设数据格式组织为 months/day(例如“1.02”),没有年份。

我们必须填写 一些东西 才能使用现有的机器。 Jalali 的当前年份显然是 1401:greg2jal(Sys.Date()) 是 (1401,3,4)。所以像

mdvec <- c(1.02, 2.03, 3.21)
## separate decimals into month/day
month <- mdvec %/% 1
day <- (mdvec %% 1) * 100
cur_yr <- 1401
year <- rep(cur_yr, length(mdvec))
## convert
library(jalcal)
do.call(c, Map(jal2greg, year, month, day))
## [1] "2022-03-22" "2022-04-22" "2022-06-10"

警告:我不知道 Jalali month/day 和 Gregorian month/day 之间是否存在完美的 one-to-one 映射 ...?