首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将JSON格式日期字符串解析为日期格式

如何将JSON格式日期字符串解析为日期格式
EN

Stack Overflow用户
提问于 2016-02-07 11:49:06
回答 5查看 16.6K关注 0票数 7

我正在做的是使用ajax从数据库中获取数据,并将其显示在html文本框上,以便进行更新。下面是我成功获得数据的Web方法代码。

代码语言:javascript
复制
[WebMethod]
public static List<Employee> getEmployee()
{
     var slist = new List<Employee>();
     var db = new BLUEPUMPKINEntities();
     slist = db.Employees.ToList();
     return slist;
}

现在,当我从数据库中获得数据时,我得到了这种格式的/Date(725828400000)/格式的日期。我搜索谷歌有关解析和转换json日期字符串格式为html / javascript日期,也使用第三方插件,如moment.js和jquery.ui,但没有解决我的问题。在这里,我还分享了我的代码,其中我以json格式从ajax中获取数据,并在上显示它。

代码语言:javascript
复制
$.ajax({
    url: "Employees.aspx/getEmployee",
    data: null,
    contentType: "Application/json; charset=utf-8",
    responseType: "json",
    method: "POST",
    success: function (response) {
        //alert(response.d);

        var jsonObject = response.d;
        var result = jsonObject.map(function (item) {
            //var date = new Date(item.EMP_DOB);
            //var obj = Date.parse(date);
            var result = [];
            result.push('');
            result.push(item.EMP_FNAME);
            result.push(item.EMP_MNAME);
            result.push(item.EMP_LNAME);
            result.push(item.EMP_EMAIL);
            result.push(item.EMP_DOB); //this is my date column in my database from where date is in yyyy/mm/dd format
            result.push(item.EMP_USERNAME);
            result.push(item.EMP_PASSWORD);
            result.push(item.ID);
            return result;
        });
        myTable.rows.add(result); // add to DataTable instance
        myTable.draw();
    },
    error: function (xhr) {
        alert(xhr.status);
    },
    Failure: function (response) {
        alert(response);
    }
});

我想要mm/dd/yyyy格式的日期。请帮我解决我的问题。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-02-07 12:00:57

如果添加依赖项没有问题,那么您可以添加moment.js,它将帮助您以任何格式格式化数据--我假设来自服务器的日期是这种格式的'/Date(725828400000)/'

代码语言:javascript
复制
var d = item.EMP_DOB;
result.push(moment(Number(d.match(/\d+/)[0])).format('MM/DD/YYYY'));

如果您无法添加当前的js,那么您可以这样做:

代码语言:javascript
复制
var date = new Date(Number(d.match(/\d+/)[0]));
var day = date.getDate();
day = day = (day < 10) ? ("0" + day) : day;
var month = date.getMonth() + 1);
month = (month < 10) ? ("0" + month) : month;
var dateStr = day + "-" + month + "-" + date.getFullYear();
result.push(dateStr);
票数 6
EN

Stack Overflow用户

发布于 2016-02-07 12:01:10

最简单的方法是下面(不需要第三方js )

代码语言:javascript
复制
var data =from row in db.Employees.ToList()
 select new {
    EMP_DOB=row.EMP_DOB.ToString(), row.EMP_FNAME,row.EMP_MNAME,row.EMP_LNAME
     row.EMP_EMAIL,row.EMP_DOB,row.EMP_USERNAME,row.EMP_PASSWORD,row.ID
 };

如果您想格式化您可以使用的日期

代码语言:javascript
复制
var data =from row in db.Employees.ToList()
     select new {
         EMP_DOB=Convert.ToString(row.EMP_DOB).ToShortDateString(), other properties goes here as shown previously
     };

你可以用C#格式化它

票数 0
EN

Stack Overflow用户

发布于 2016-02-07 12:30:43

您已经有了一个数据对象,它有它的方法来提取所需的一切。

您可以创建一个类似于本例中的函数:

Get string in yyyymmdd format from js date object

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35253080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档