时间格式转换 json 转 datetime js c#

时间:2023-03-10 05:19:16
时间格式转换 json 转 datetime js  c#

情景描述:使用C#在后台中传递时间到ajax中,因为是一个list<model>就直接用了Json 作为载体,但是在js中获得到的时间是var time='/Date(***************)/';

     初次判断为时间戳,直接转换 new Date(time); 失败,仔细看才发现是因为json时间转化的问题

一:底层方法

    [HttpPost]
public JsonResult AjaxReviewForBranchDetail(int PageIndex, int BranchID)
{
PageIndex++;
var reviewlist = this.WebSiteService.GetReviewList(new ReviewRequest() { BranchID = BranchID, PageIndex = PageIndex }, true);
return Json(new { reviews = reviewlist.Select(r => new { r.Content, r.CreateDate, r.CompositeScore, r.UserName }) }); }

二:js 接收

//点评数据
function getmorereview() {
$.ajax({
url: "AjaxReviewForBranchDetail",
type: "post",
data: { PageIndex: $("#reviewpageindex").val(), BranchID: $("#HidBranchID").val() },
success: function (date) {
var html = "";
if (date != null) {
if (date.reviews.length > ) { for (var i = ; i < date.reviews.length; i++) { html += "<dl class=\"commentdetails\">";
html += "<div class=\"left imgb\">";
html += "<i class=\"icon cusimg\"></i>";
html += "</div>";
html + "<div class=\"left commentcontent\">";
html += "<div>";
html += "<span class=\"username\">" + date.reviews[i].UserName + "</span>";
html += "<div class=\"icon star\" style=\"display: inline-block;\">";
html += "<i class=\"icon progress5\"></i>";
html += "</div>";
html += "<span class=\"scores\">" + date.reviews[i].CompositeScore + "分</span> <span class=\"time\">" + getLocalTime(date.reviews[i].CreateDate) + "</span>";
html += "</div>";
html += "<p class=\"cont\">";
html += date.reviews[i].Content;
html += "</p>";
html += "</div>";
html += "</dl>";
}
$("#reviewpageindex").val(parseInt($("#reviewpageindex").val()) + );
} } else {
html += "<span>亲,这回真没了!</span>";
}
$("#reviewdiv").append(html);
}
})
}

三:json转datetime

//时间json转datetime
function getLocalTime(dateText) {
dateText = dateText.replace("/Date(", "").replace(")/", "").substring(, );
/*
需要注意的是:
不要把字符串中的Date(这样的字符也传进去,要先处理一下,这样很方便就能处理的
可以使用replace方法
如:replace("/Date(","").replace(")/","");
*/
//返回 2014年5月26日 下午12:00
//return new Date(parseInt(dateText) * 1000).toLocaleString().replace(/:\d{1,2}$/, ' ');
//返回 2014年5月26日 下午12:0
//return new Date(parseInt(dateText) * 1000).toLocaleString().substr(0, 17);
//返回 2014-5-26 12:00:29
return new Date(parseInt(dateText) * ).toLocaleString().substr(, ).replace(/年|月/g, "-").replace(/日/g, " ").replace(/上|午/g, " ").replace(/下|午/g, " ");
}

  ps:我要的是年-月-日所以就substr(0,12),这个根据个人需求判定