Подтвердить что ты не робот

Дата составления с webservice

Я получаю даты из веб-службы, и они выглядят так:

/Date(1310187160270+1200)/

Как мне перейти на преобразование этого объекта даты в javascript?

Я немного искал язык и не могу найти достойный ответ - это может быть отчасти из-за того, что я не совсем уверен, что называется этим типом объекта даты, поэтому, если кто-то может пролить свет на это также, что было бы оценено.

4b9b3361

Ответ 1

var date = new Date(1310187160270+1200); 
console.log(date)

возвращает

Сб Июл 09 2011 06:52:41 GMT + 0200 (Южноафриканское стандартное время)

Если вам нужно снять его, как в вопросе:

var returnVariable = "/Date(1346713200000+0100)/";
var d = new Date(parseFloat(returnVariable.replace("/Date(", "").replace(")/", ""))); 

Ответ 2

Поскольку предыдущий ответ не обрабатывает смещения часового пояса, я буду использовать мою версию:

function fromDateString(str) {
    var res = str.match(/\/Date\((\d+)(?:([+-])(\d\d)(\d\d))?\)\//);
    if (res == null)
        return new Date(NaN); // or something that indicates it was not a DateString
    var time = parseInt(res[1], 10);
    if (res[2] && res[3] && res[4]) {
        var dir = res[2] == "+" ? -1 : 1,
            h = parseInt(res[3], 10),
            m = parseInt(res[4], 10);
        time += dir * (h*60+m) * 60000;
    }
    return new Date(time);
}

Правильный результат: Fri Jul 08 2011 18:52:40 GMT+0200 или Fri, 08 Jul 2011 16:52:40 GMT.