2015-10-27 3 views
0

Я использую JQuery Ajax, чтобы запросить список объектов из базы данных с помощью C# веб-метод:Дата возвращения из C# веб-метод -/Дата (XXXXXXX)/

[WebMethod] 
public static List<SessionQueue> GetActiveIssues() 
{   
    try 
    { 
    return MyContext.SessionQueues.Where(x => !x.Resolved).OrderBy(d => d.SubmittedTime).ToList(); 
    } 
    catch (Exception ex) 
    { 
    throw new Exception(ex.ToString()); // catch in jquery 
    } 

}

Каждый SessionQueue объект имеет свойство:

public System.DateTime SubmittedTime 

Когда я получаю SubmittedTime в JQuery, дата выглядит следующим образом:

/Date(1445975227197)/ 

Как я могу проанализировать это до строки допустимой даты? эи mm/dd/yy xx:xx am

Я попытался:

function formatLongDate(date) { 

    var nd = Date.parse(date); 
    var dt = new Date(nd); 
    var dtStr = $.datepicker.formatDate("mm/dd/yy", dt) + ' ' + getTime(date) 
    return dtStr; 
} 

но /Date(1445975227197)/ не является допустимой датой клещами

+0

Этого число тиков начиная с 1 января 1970 г. Я верю. –

+0

Использовать moment.js. У меня была схожая ситуация, и мне очень помогли моменты. –

+0

Или переключитесь на использование JSON.NET 4.5+ в качестве сериализатора, который по умолчанию устанавливает даты форматирования в формате ISO 8601. –

ответ

6

Попробуйте использовать String.prototype.match(), Array.protottpe.map()

new Date("/Date(1445975227197)/".match(/\d+/).map(Number)[0]) 
+0

Как получить вывод в формате «28 октября 2015 года»? – Arun

+0

@Arun 'String (new Date ("/Date (1445975227197)/". Match (/ \ d + /). Map (Number) [0])). Slice (4, 15)' – guest271314

+0

Спасибо @ guest271314 – Arun

0

Calendar calendar = Calendar.getInstance(); 
 
//timestamp is where you're getting the 1445975227197 
 
calendar.setTimeInMillis(timeStamp); 
 

 
int mYear = calendar.get(Calendar.YEAR); 
 
int mMonth = calendar.get(Calendar.MONTH); 
 
int mDay = calendar.get(Calendar.DAY_OF_MONTH);

1

MVC Обращенные относится к числу миллисекунд с 1 января 1970 года Самым простым способом, чтобы преобразовать его в яваскрипте дату, чтобы сделать следующий

var convertedDate = new Date(parseInt(SubmittedTime.substr(6)));