Date Converter: Gregorian, Persian, and Islamic calendars

Versión 3.1.3 (8,34 KB) por Omar Joya
Converts dates across Gregorian, Persian/ Jalali (Solar Hijri), and Islamic Lunar Hijri calendars
364 descargas
Actualizado 12 nov 2020

Ver licencia

dateconv(Y,M,D,from_calend,to_calend) computes bilateral date conversion between Gregorian Common Era ('ce'), Persian Solar Hijri or Jalali ('sh'), and Islamic Lunar Hijri ('lh') calendars. Outputs a 1x3 numeric array vector of [Y,M,D], and a character array with printed date with month names in Persian, Arabic, or English. For Persian and Islamic calendars, the numbers are shown in Eastern Arabic numerals.

For example:
[outdatenum,outdatetxt] = dateconv(2000,1,1,'ce','sh') returns the equivalent date for Jan 1, 2000 in Persian Solar Hijri calendar:

>> [outdatenum,outdatetxt] = dateconv(2000,1,1,'ce','sh')
outdatenum =
1378 10 11
outdatetxt =
'۱۱ دی/جدی ۱۳۷۸'

>> datetoday
Today's date is:
12-Nov-2020
۲۲ آبان/عقرب ۱۳۹۹
۲۶ ربيع-الأول ۱۴۴۲

Conversion takes place through the Julian Day Number. Each calendar is converted to and computed back from the Julian Day Number.

For Gregorian calendar, the algorithm by NASA/Goddard is adopted, which correctly computes the dates for Proleptic era (before 1582).

For Persian/ Jalali calendar, the algorithm is based on the method proposed by Musa Akrami (2014) and implemented by Soroush Rabiei (2017).

Check & tests:

The start of the Persian calendar epoch (1/1/475 SH) per Akrami's 2,820 years cycle starts on Mar 15, 1096 (and NOT on March 21st as other date converter algorithms suggest):
>> dateconv(475,1,1,'sh','ce')
ans =
1096 3 15

The first day of the Persian calendar starts on Mar 19, 622:
>> dateconv(1,1,1,'sh','ce')
ans =
622 3 19

The first day of the Islamic Lunar Hijri starts on July 16, 622:
>> dateconv(1,1,1,'lh','ce')
ans =
622 7 16

Citar como

Omar Joya (2024). Date Converter: Gregorian, Persian, and Islamic calendars (https://www.mathworks.com/matlabcentral/fileexchange/67221-date-converter-gregorian-persian-and-islamic-calendars), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2018a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Dates and Time en Help Center y MATLAB Answers.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versión Publicado Notas de la versión
3.1.3

Fixed the 1-day difference that occurred in previous versions between conversion from Islamic calendar to JDN and vice versa.

3.1.2

Fixed the 1-day difference that occurred in previous versions between conversion from Islamic calendar to JDN and vice versa.

3.1.1

Fixed the 1-day difference that occurred in the conversion from Islamic calendar (Lunar Hijri) to JDN and vice versa.

2.1.0.1

Fixed conversion issue from Islamic Lunar Hijri to Gregorian calendar

2.1.0.0

Fixed conversion issue from Islamic Lunar Hijri to Gregorian calendar

2.0.0.0

Added the feature to show printed date with month names in Persian, Arabic, or English. For Persian and Islamic calendars, the numbers are shown in Eastern Arabic numerals.

1.0.0.0