在gregorian-hijri日历之间传输的matlab代码

时间:2011-11-17 17:30:13

标签: matlab date gregorian-calendar date-conversion hijri

是否存在从格里高利

转移日期(日,月,年)的Matlab代码

到Hijri(伊斯兰教)日历,也从hijri到格里高利历,

我们假设我们想要改变格里高利日期:

2011年11月18日星期五

到Hijri日期,即22/12/1432周五

由于

1 个答案:

答案 0 :(得分:2)

如果您使用的是Windows,则可以使用MATLAB内部的.NET Framework

以下是将Gregorian日期转换为Hijri的功能(基于CodeProject上的文章):

function out = GregToHijri(str, frmtIn, frmtOut)
    % English (US) and Arabic (Saudi Arabia) cultures
    enCult = System.Globalization.CultureInfo('en-US',false);
    enCult.DateTimeFormat.Calendar = System.Globalization.GregorianCalendar();
    arCult = System.Globalization.CultureInfo('ar-SA',false);
    arCult.DateTimeFormat.Calendar = System.Globalization.HijriCalendar();

    % parse using supplied input format
    dt = System.DateTime.ParseExact(str, frmtIn, enCult.DateTimeFormat);

    % convert datetime as formatted string
    out = char( dt.ToString(frmtOut, arCult.DateTimeFormat) );
end

根据您的输入进行测试:

>> GregToHijri('Friday, 18/11/2011', 'dddd, dd/MM/yyyy', 'dd/MM/yyyy')
ans =
22/12/1432