1

I want to change date from Gregorian to shamsi in JavaScript. I am reading data from model with ajax so datetime field is Gregorian but I want to display shamsi date to user .and I want to use this shamsi date instead of result.datetime in the code below, but I don't know how to do this.

 function f2() {

    var ID = $("#sel").val();
   $.ajax({
        url: "/Account/GetPredict",
        data: { ID: ID },
        type: "post",
        success: function (value) {
            res = JSON.parse(value);
            $("#mm").empty();
            $("#mdiv").empty();
            $("#mm").append("<tr><td align='center'> بازی</td><td align='center'>تاریخ</td><td align='center'>پیش بینی شما</td><td align='center'>امتیاز کسب شده</td></tr>");
            $.each(res, function (idx, result) {

                $("#mm").append("<tr><td align='center'>" + result.game + "</td><td align='center'>" + ToJavaScriptDate(result.datetime) + "</td><td align='center'>" + result.predict + "</td><td align='center'>" + result.score + "</td></tr>");

            })
            if (res!=null) {
                $("#mdiv").append("<a style='color:red' href='../Account/PdfGenerator?ID=" + ID + "'><img src='../img/pdf.png' /></a>");
            }
        }
    })
}
function ToJavaScriptDate(value) {
    alert('ok')
    var pattern = /Date\(([^)]+)\)/;
    var results = pattern.exec(value);
    var dt = new Date(parseFloat(results[1]));
    alert(dt)
    var pc_fa = $.calendars.instance('persian', 'fa');
    var jdate33 = pc_fa.fromJSDate(new Date(dt.getFullYear(), dt.getMonth(), dt.getDate()));
    return jdate33;

}


</script>
myname
  • 1,159
  • 2
  • 8
  • 9
  • Please reduce your code to the minimal working example that illustrates your problem: what you do, what you get, what you want to get. – texnic Feb 29 '16 at 22:27

1 Answers1

2

I would use the Keith Wood library for the conversion:

var pc_fa = $.calendars.instance('persian', 'fa');
alert("Current date: " + pc_fa.fromJSDate(new Date()));

See here for documentation. Working example: jfiddle.

texnic
  • 3,959
  • 4
  • 42
  • 75