2014-02-20 3 views

ответ

1

Вы можете использовать эту функцию для анализа такой даты.

function fnParseDate(dateString) 
{ 
    if (typeof dateString == 'object' && dateString instanceof Date) // It's already a JS Object (Of Date Type) 
     return dateString; // No need to do any parsing. Return the original value. 

    if (dateString.indexOf('/Date(') == 0) //Format: /Date(1320259705710)/ 
     return new Date(parseInt(dateString.substr(6), 10)); 

    alert('Given date is no properly formatted: ' + dateString); 
    return new Date(); //Default value! 
} 
+1

Учитывая OP, 'new Date (+ ('/ Date (1388521800000) /'. Replace (/ \ D/g, '')))' достаточно для создания подходящего Дата. Или 'new Date (+ ('/ Date (1388521800000) /'. Match (/ \ d + /) [0]))'. – RobG

1
var sDate = "/Date(1388521800000)/"; 
var date = new Date(sDate.match(/\/Date\(([0-9]+)\)\//)[1]|0); 
var formattedDate = date.getFullYear() + "-"+ 
        (date.getMonth()<9?"0"+(date.getMonth()+1):date.getMonth()+1)+"-"+ 
        (date.getDate()<10?"0"+date.getDate():date.getDate()); 
2

Если строка всегда выглядит так же, я бы разобрать его, как это:

String date = "/Date(1388521800000)/"; 
String stamp; 

stamp = date.substring(date.indexOf("(")+1, date.indexOf(")")); 
+0

Это может помочь, если вы разместили допустимый javascript. – RobG

+0

Oh Извините, я был твердо убежден в том, что вы используете Java, моя ошибка – sagschni

+0

Тогда вы должны, возможно, сделать ist следующим образом: var date = "/ Date (1388521800000) /"; var a = date.split ("("); var b = a [1] .split (")"); var stamp = b [0]; – sagschni

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