2017-02-06 7 views
0

В базе данных SQL Server указывается дата, указанная как 06-Feb-17 7:42:14 PM. Но в Jquery DataTable эта дата показывается, как /Дата (1486388669090)/Преобразование даты JSON с использованием Javascript

Что я должен делать, если я хочу, чтобы показать дату точно как 06-Feb-17 7:42:14 PM формат и "dd/mm/yy" формат ??

Вот мой код:

$(document).ready(function() { 
      $('#myTable').DataTable({ 

       "ajax": { 
        "url": "/Employees/LoadData", 
        "type": "GET", 
        "datatype": "json" 
       }, 
       "columns" : [ 
         { "data": "EmployeeName", "autoWidth": true }, 
         { "data": "Department", "autoWidth": true }, 
         { "data": "Age", "autoWidth": true }, 
         { "data": "Gender", "autoWidth": true }, 
         { 
          "data": "CreatedOn",// This is my date 

         } 

        ] 
      }); 
}); 

Любая подходящая помощь будет высоко оценен. Благодаря!

ответ

1

Для отображения JSon даты в "дд/мм/гггг" Формат:

"columns" : [ 
       { "data": "EmployeeName", "autoWidth": true }, 
       { "data": "Department", "autoWidth": true }, 
       { "data": "Age", "autoWidth": true }, 
       { "data": "Gender", "autoWidth": true }, 
       { 
        "data": "CreatedOn", 
        "render": function(data) { 
           var dateString = data.substr(6); 
           var currentTime = new Date(parseInt(dateString)); 
           var month = currentTime.getMonth() + 1; 
           var day = currentTime.getDate(); 
           var year = currentTime.getFullYear(); 

           return (day.toString().length > 1 ? day : "0" + day) + 
           "/" + 
           (month.toString().length > 1 ? month : "0" + month) + 
           "/" + 
           year + " " + time; 

          } 

        } 

    ] 

И дата будет будет отображаться как: 06/02/2017

Для отображения Json Дата именно так, как "06-февраля-17 7:42:14 PM" Формат:

"columns" : [ 
        { "data": "EmployeeName", "autoWidth": true }, 
        { "data": "Department", "autoWidth": true }, 
        { "data": "Age", "autoWidth": true }, 
        { "data": "Gender", "autoWidth": true }, 
        { 
         "data": "CreatedOn", 
         "render": function(data) { 
           var dateString = data.substr(6); 
           var currentTime = new Date(parseInt(dateString)); 
           var month = currentTime.getMonth() + 1; 
           var day = currentTime.getDate(); 
           var year = currentTime.getFullYear(); 
           var hour = currentTime.getHours(); 
           var minute = currentTime.getMinutes(); 
           var seconds = currentTime.getSeconds(); 

           var localStandarHour = hour > 12 ? hour - 12 : hour; 

         var time = (localStandarHour.toString().length > 1 ? localStandarHour : "0" + localStandarHour) + ":" + (minute.toString().length > 1 ? minute : "0" + minute) + ":" 
          + (seconds.toString().length > 1 ? seconds : "0" + seconds); 


           if (hour > 12) { 
            time = time + " PM"; 
           } else { 
            time = time + " AM"; 
           } 


           return (day.toString().length > 1 ? day : "0" + day) + 
           "/" + 
           (month.toString().length > 1 ? month : "0" + month) + 
           "/" + 
           year + " " + time; 

          } 

         } 

     ] 

И дата будет отображаться как: 06/02/2017 07:42:14 PM

0

Вам необходимо конвертировать дату с времени эпохи в формат времени, который вы хотите. Воспользуйтесь страницей MDN для Date Object. Конструктор может принять время в эпоху, и функции, такие как getYear, getMonth и т. Д., Предоставят вам части для вашей строки даты.

Смежные вопросы