How to change Gregorian date to Persian date in JavaScript?

前端 未结 9 723
青春惊慌失措
青春惊慌失措 2021-02-04 23:46

Can anyone help me to change Gregorian date to Persian in JavaScript? I want to use it in HTML and JavaScript.

9条回答
  •  面向向阳花
    2021-02-05 00:21

    Get 'jalali.js' from this link.

    If your numbers is in Persian format, at first you have to change them to English format, from this link

    var
            persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
            arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
            fixNumbers = function (str) {
                if (typeof str === 'string') {
                    for (var i = 0; i < 10; i++) {
                        str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
                    }
                }
             return str;
            };
    

    and use such as the function 'getGregorian()' below to convert date. For instance I convert '۱۳۹۸/۰۱/۲۴' date:

    function getGregorian () {
                var date = ("۱۳۹۸/۰۱/۲۴").split('/');
                y = Number( fixNumbers(date[0]) );
                m = Number( fixNumbers(date[1]) );
                d = Number( fixNumbers(date[2] ));
    
                gDate = toGregorian(y, m, d)
                gDate = gDate .gy + '/' + gDate .gm + '/' + gDate .gd;
    
            }
    

提交回复
热议问题