Date Converter: Gregorian, Persian, and Islamic calendars

版本 3.1.3 (8.3 KB) 作者: Omar Joya
Converts dates across Gregorian, Persian/ Jalali (Solar Hijri), and Islamic Lunar Hijri calendars
364.0 次下载
更新时间 2020/11/12

查看许可证

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

引用格式

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. 检索来源 .

MATLAB 版本兼容性
创建方式 R2018a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Dates and Time 的更多信息

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
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