使用ajax调用时,在json中没有获得正确的数据格式

时间:2017-07-05 08:31:46

标签: javascript json ajax asp.net-mvc model-view-controller

我写了一个get api,我想在数据表中显示一些记录,而我在json中获取记录即可获得日期值&#34; / Date(1498849454000)/&#34; < / strong>即可。 如何在&#34; 2017-04-11 02:09&#34;中获取日期值以这种格式。 数据存储正确&#34; 2017-04-11 02:09:17.000&#34;。 数据类型 - 日期时间

示例数据

{"data":[{"updtd_date":"\/Date(1498849454000)\/","usecase":"watertank","id":1026,"sms":"Alert: Tank is Full  at 01/07/2017 12:33:51 AM ]"},

     <script>
            $(document).ready(function () {
                $('#myTable').DataTable({
                    "ajax": {
                        "url": "url",
                        "type": "GET",
                        "datatype": "json"
                    },
                    "columns" : [
                        { "data": "updtd_date", "autoWidth": true },
                        { "data": "usecase", "autoWidth": true },
                        { "data": "id", "autoWidth": true },
                        { "data": "sms", "autoWidth": true }
                        ]
                });
            });
        </script>

        <table id="myTable">
                <thead>
                    <tr>
                        <th>Time</th>
                        <th>Use Case</th>
                        <th>Sl no</th>
                        <th>SMS</th>
                    </tr>
                </thead>
            </table>

控制器

   public ActionResult getSMS()
        {
            using (smartpondEntities dc = new smartpondEntities())
            {
                var data = dc.sms.OrderByDescending(a => a.id).ToList();
                return Json(new { data = data }, JsonRequestBehavior.AllowGet);
            }

        }

2 个答案:

答案 0 :(得分:0)

您可以通过将您的时间(以毫秒为单位)作为参数传递给Date构造函数var date = Date(1498849454000);

来创建日期对象

然后您可以使用date.toDateString()

获取日期

答案 1 :(得分:0)

如果您的日期显示为$timestamp = //assign your date here after json decode $timestamp = preg_replace( '/[^0-9]/', '', $timestamp); $date = date("Y-m-d H:i:s", $timestamp / 1000); ,那么它是时间戳

for( i ; i < yyy; i++) {
    //alert(i);
    //alert('{{ (tps[i]) }}'):
    var t = '{{ (tps[i]) }}';
    data.push(
          {temp:t, press:999 } );
     //xyz = '{{ (tps[0 + 1]) }}';
     for(t;t<yyy;t++)
           t = '{{ (tps[i+1]) }}'
  }

这会将时间戳(除以JS日期的1000个原因)转换为人类可读的格式。 希望这有帮助。