Reputation: 1309
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>
Upvotes: 1
Views: 2305
Reputation: 4098
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.
Upvotes: 2