The Persian or Jalaali calendar, also called the Solar Hijri or Hijri Shamsi calendar, is a 12-month system.
It begins its count from the Hijra, which is July 19, 622 AD in the standard Gregorian calendar.
The Persian New Year begins on Nowruz, the spring equinox. This means the start of the year is timed with the start of spring, as determined by astronomical observations.
The first six months have 31 days each, the next five have 30 days, and the last month has 29 days in common years and 30 days in leap years. Each season consists of three consecutive months.
The exact leap year determination also relies on the vernal equinox date and time. The calculations and conversions in this package are based on the work by Kazimierz M. Borkowski (1996) who used an analytical model of Earth’s motion to calculate equinoxes from AD 550 to 3800 and identify leap years based on Tehran time.
The Persian calendar is the official calandar in Iran and Afghanistan and is also used in parts of Tajikistan and Kurdistan, particularly among Persian- and Kurdish-speaking communities.
Borkowski, K. M. (1996). The Persian calendar for 3000 years. Earth, Moon, and Planets, 74, 223–230. doi:10.1007/BF00055188
To install the development version of jalcal
from GitHub, use the remotes
package:
# Install remotes if not already installed
install.packages("remotes")
# Install getsat from GitHub
::install_github("jalilian/jalcal") remotes
To install the package from CRAN, use the
install.packages
command:
# install.packages('jalcal')
To convert Jalaali dates (e.g.,
1403-12-30
and 1404-01-01
) to
Gregorian dates, use:
library("jalcal")
<- jal2greg(year=c(1403, 1404), month=c(12, 1), day=c(30, 1))
dates print(dates)
#> [1] "2025-03-20" "2025-03-21"
To convert Gregorian dates to Jalaali dates, use:
set.seed(14040101)
<- sample(seq.Date(from = as.Date("561-01-01"),
gdates to = as.Date("3177-12-31"), by = "day"),
size = 100)
<- greg2jal(gdates)
jdates cbind(gdates, jdates)
#> gdates Year Month Day
#> 1 1313-04-15 692 1 26
#> 2 3046-03-21 2425 1 1
#> 3 1393-01-18 771 10 28
#> 4 708-10-16 87 7 24
#> 5 2329-02-14 1707 11 25
#> 6 2554-08-17 1933 5 26
#> 7 2038-12-14 1417 9 22
#> 8 2465-09-09 1844 6 18
#> 9 593-08-24 -28 6 2
#> 10 1801-08-13 1180 5 22
#> 11 2601-11-04 1980 8 13
#> 12 2303-07-09 1682 4 17
#> 13 2742-08-12 2121 5 21
#> 14 2698-12-13 2077 9 22
#> 15 598-07-22 -23 4 30
#> 16 1775-01-30 1153 11 9
#> 17 616-05-22 -5 2 32
#> 18 1502-06-22 881 3 31
#> 19 2796-03-27 2175 1 8
#> 20 3018-11-22 2397 8 31
#> 21 3098-06-19 2477 3 29
#> 22 876-04-14 255 1 25
#> 23 2899-08-13 2278 5 22
#> 24 3059-10-31 2438 8 9
#> 25 673-07-29 52 5 7
#> 26 1139-09-04 518 6 12
#> 27 1354-08-07 733 5 16
#> 28 2033-10-31 1412 8 10
#> 29 2503-07-07 1882 4 16
#> 30 2157-03-30 1536 1 10
#> 31 1690-01-09 1068 10 19
#> 32 2317-04-02 1696 1 13
#> 33 2479-10-07 1858 7 14
#> 34 2505-12-17 1884 9 26
#> 35 2917-05-02 2296 2 12
#> 36 2632-08-07 2011 5 16
#> 37 3058-08-25 2437 6 3
#> 38 2698-06-30 2077 4 9
#> 39 929-11-09 308 8 18
#> 40 1284-05-08 663 2 18
#> 41 799-01-09 177 10 19
#> 42 1097-04-26 476 2 6
#> 43 747-04-10 126 1 20
#> 44 3071-01-06 2449 10 16
#> 45 1654-12-14 1033 9 22
#> 46 730-03-17 108 12 26
#> 47 1071-10-11 450 7 19
#> 48 3063-01-12 2441 10 22
#> 49 1968-06-29 1347 4 8
#> 50 1154-10-27 533 8 5
#> 51 3025-05-24 2404 3 3
#> 52 887-08-02 266 5 10
#> 53 681-05-17 60 2 27
#> 54 583-11-10 -38 8 18
#> 55 2191-10-19 1570 7 26
#> 56 1309-12-30 688 10 9
#> 57 1159-08-09 538 5 17
#> 58 915-04-26 294 2 5
#> 59 2702-01-16 2080 10 26
#> 60 2391-03-12 1769 12 21
#> 61 2628-03-27 2007 1 7
#> 62 2862-12-31 2241 10 10
#> 63 1825-04-05 1204 1 16
#> 64 1996-02-13 1374 11 24
#> 65 1995-10-27 1374 8 5
#> 66 2170-03-22 1549 1 1
#> 67 2548-03-01 1926 12 11
#> 68 2198-02-06 1576 11 17
#> 69 2147-12-05 1526 9 14
#> 70 2009-03-24 1388 1 4
#> 71 1804-08-01 1183 5 10
#> 72 1319-05-29 698 3 8
#> 73 2695-12-11 2074 9 20
#> 74 766-12-08 145 9 17
#> 75 1330-10-26 709 8 4
#> 76 568-05-26 -53 3 5
#> 77 1855-09-30 1234 7 8
#> 78 2068-10-22 1447 7 30
#> 79 3165-06-19 2544 3 29
#> 80 3048-04-30 2427 2 11
#> 81 2699-09-28 2078 7 6
#> 82 2145-04-17 1524 1 28
#> 83 1869-03-10 1247 12 20
#> 84 2880-12-01 2259 9 10
#> 85 1260-02-25 638 12 5
#> 86 1201-10-30 580 8 8
#> 87 844-06-16 223 3 26
#> 88 1120-06-26 499 4 5
#> 89 2278-10-28 1657 8 6
#> 90 2374-03-12 1752 12 21
#> 91 2581-08-25 1960 6 3
#> 92 3080-01-21 2458 11 1
#> 93 3000-02-15 2378 11 26
#> 94 1069-01-04 447 10 14
#> 95 2070-12-19 1449 9 28
#> 96 1377-07-02 756 4 11
#> 97 2123-02-20 1501 12 1
#> 98 2407-12-14 1786 9 23
#> 99 2365-04-26 1744 2 6
#> 100 2329-04-17 1708 1 28