是否存在从格里高利
转移日期(日,月,年)的Matlab代码到Hijri(伊斯兰教)日历,也从hijri到格里高利历,
我们假设我们想要改变格里高利日期:
2011年11月18日星期五
到Hijri日期,即22/12/1432周五
由于
答案 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