2016-08-11 2 views
0

Я отправил дату с контроллера с помощью этой переменной IncidentReportedDt значение: 2016-08-11 09:30:30.287 в .cshtml и я хочу отобразить его по javascript.C# Преобразование даты и времени на javascript

если я просто вручную печатать эту переменную IncidentReportedDt: Выход /Date(1470882630287)/

тогда я попробовать некоторые из следующих советов:

var date3 = IncidentReportedDt.toDate(); 
var date4 = IncidentReportedDt.ToString(); 

это дает мне этот выход:

TypeError: IncidentReportedDt.toDate is not a function 
TypeError: IncidentReportedDt.toString is not a function 

я попробовал другой способ, используя это:

var date = new Date(Date.parse(IncidentReportedDt)); 

, и это дает мне выход: Invalid Date

так я добавить этот код:

var date = new Date(Date.parse(IncidentReportedDt)); 
var dte = date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + (date.getUTCDate()); 

, и это дает мне выход: NaN/NaN/NaN

я хочу вывод: 2016-08-11 09:30. Можете ли вы помочь мне, что не так с моим кодом?

ответ

1

Я обычно использую следующую функцию, чтобы преобразовать этот формат даты в формат JS:

function parseDotNetDate(str) { 
    var regexp = /\/Date\((\d*)\)\//; 
    if (!regexp.test(str)) 
     throw new Error('Not a .NET DateTime object.'); 

    return new Date(+str.replace(regexp, '$1')); 
} 
+0

большое спасибо: D это работает – Shasapo

+0

привет yeldar, может я спросить, что функция «$ 1»? – Shasapo

+0

@Shasapo Hello :) Это часть функции 'String.prototype.replace', что означает« первая захваченная группа в регулярном выражении ». –

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