我想在JavaScript中将日期从Gregorian更改为shamsi。我正在使用ajax从模型中读取数据,因此datetime字段是Gregorian但我想向用户显示shamsi日期。我想在下面的代码中使用此shamsi日期而不是result.datetime,但我不知道如何这样做。
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>
答案 0 :(得分:2)
我会使用Keith Wood library进行转换:
var pc_fa = $.calendars.instance('persian', 'fa');
alert("Current date: " + pc_fa.fromJSDate(new Date()));