2
之間傳輸是否有Matlab代碼,從陽曆Matlab代碼公曆,回曆日曆
轉讓日期(日,月,年)回曆(伊斯蘭)歷,也從回曆陽曆,
讓我們假設我們要改變的陽曆日子:
週五,第18 /二千零十一分之十一
到這是05月22/12/1432年
回曆日期謝謝
之間傳輸是否有Matlab代碼,從陽曆Matlab代碼公曆,回曆日曆
轉讓日期(日,月,年)回曆(伊斯蘭)歷,也從回曆陽曆,
讓我們假設我們要改變的陽曆日子:
週五,第18 /二千零十一分之十一
到這是05月22/12/1432年
回曆日期謝謝
如果你在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
請看到這裏的討論:HTTP:/ /www.mathworks.com/matlabcentral/newsreader/view_thread/146181。它說:「Hirji日曆在不同地點有所不同 因此沒有可能的廣義轉換算法,只有與特定位置相關的歷史數據表。」 – petrichor
感謝您的回覆。是的,據瞭解,Hijri日曆依賴於月球,而且從互聯網上的許多轉換器程序可以看出,兩個日曆之間的轉換具有一天的最大誤差。我想要這個轉換的公式。另外,我在這個鏈接中找到了一個java腳本:http://stackoverflow.com/questions/5177598/how-to-convert-gregorian-date-to-hijri-date,但我不知道把它翻譯成Matlab。問候 – user488182
我也google了,但找不到一個現成的代碼。我想你會成爲第一個:) – petrichor