-1

我正在使用一个网格视图,它在某些条件下也被 json 绑定,并且一个网格包含 date ,所以在从 json 获取数据时,我需要解析日期。我能得到日期但不能得到时间部分。尝试和搜索太多。我在下面提到了两种我尝试过但不能解决我的问题的方法。

{
       function ParseDate(jsonDate) {
       date = new Date(parseInt(String(jsonDate).substr(6)));
       day = date.getDate();
       month = date.getMonth() + 1;
       year = date.getFullYear();
       return month + "/" + day + "/" + year;
  }
}

这只给了我日期,但我需要时间,所以我又做了一种方法

{
    function ParseDate(jsonDate) {
        var date = new Date(parseInt(jsonDate.substr(6)));
        var formatted = ("0" + (date.getMonth() + 1)).slice(-2) + "/" + ("0" + date.getDate()).slice(-2) + "/" + date.getFullYear() + " " + date.getHours() + ":" + date.getMinutes() + ":" + "0" + date.getSeconds();
        return formatted;

    }
}

但是这个函数返回

    //07/19/2013 11:38

而不是 //7/19/2013 11:38:07 AM想要的结果。请帮我解决这个问题。非常感谢您。另外,我需要显示 Am 或 PM 是强制性的

4

3 回答 3

1

尝试这个:

function ParseDateToLocale(jsonDate) {
    var date = new Date(parseInt(jsonDate.substr(6)));
    var myDate = new Date(date);
    var formatted = myDate.toLocaleString();
    return formatted;
}

看到它在这里工作:http: //jsfiddle.net/2ft3A/

于 2013-07-19T08:59:31.483 回答
1

试试这个,对你有帮助

function ParseDate(jsonDate) {
        var date = new Date(parseInt(jsonDate.substr(6)));
        var merd='';
        if(date.getHours()>=12)
        {
            merd='PM';
        }
        else
        {
            merd='AM';
        }

        var formatted = ("0" + (date.getMonth() + 1)).slice(-2) + "/" + ("0" + date.getDate()).slice(-2) + "/" + date.getFullYear() + " " + date.getHours() + ":" + date.getMinutes() + ":" + "0" + date.getSeconds()+ " " + merd;

        return formatted;

    }
于 2013-07-19T09:18:02.570 回答
0

dateObject.toLocaleTimeString();
(OR)
date.getHours() 将返回 0-24 小时。基于该值,您可以附加 AM 或 PM

于 2013-07-19T09:11:21.943 回答