2013-12-22 10 views
0

hi все, что я работаю над jquery, мы пытаемся прочитать дату json, формат такой, как это 2013-12-20T02: 26: 23.337 мы удаляем отметку времени и хотим показать только mm-dd-year формат - это код, который мы используем, мы не получаем надлежащую месячную задержку на месяц, которую мы получаем, это: 11/20/2013, как решить эту проблему.читатель формата даты JSON

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> 
    </script> 
<script> 
$(document).ready(function(){ 

    var d = "2013-12-20T02:26:23.337"; 
var year = new Date(d).getFullYear(); 
var month = new Date(d).getMonth(); 
var date = new Date(d).getDate(); 
var formatdate = month + "/" + date + "/" + year; 

    var x = document.getElementById("demo"); 

    x.innerHTML=formatdate; 
     }); 
    </script> 
    </head> 
    <body> 
    <p id="demo"></p> 

    </body> 
</html> 
+0

месяц '0-based', просто нужно +1 за месяц. Также рекомендуется вызывать 'new Date (d)' только один раз и назначать его переменной. –

ответ

0

От http://www.w3schools.com/jsref/jsref_getmonth.asp:

Метод getMonth() возвращает месяц (от 0 до 11) для указанной даты, в соответствии с местным временем.

Примечание: Январь 0, февраль равен 1 и так далее.

0

getMonth() возвращает целочисленное значение, представляющее месяц, начиная с 0 для января по 11 декабря. Вам нужно добавить +1 т.е. new Date(d).getMonth()+1;

var d = "2013-12-20T02:26:23.337"; 
var year = new Date(d).getFullYear(); 
var month = new Date(d).getMonth()+1; 
var date = new Date(d).getDate(); 
var formatdate = month + "/" + date + "/" + year; 

var x = document.getElementById("demo"); 

x.innerHTML=formatdate; 

Демо: http://jsfiddle.net/76QSZ/1/

Ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

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