c# - .NET DateTime nesnesini Javascript Date nesnesine dönüştürme
Aşağıdaki sorunum var:
SQL Server'dan bir DateTime nesnesi alıyorum ve bunu JSON aracılığıyla ($.ajax kullanarak) Javascript'e geçiriyorum. Alınan nesneyi javascriptte bir Date nesnesine dönüştürmeye çalışırken zorluk yaşadım. Alınan nesne "/Date(615592800000)/" değerinde bir string. Sanırım bu değer bir epoch zamanı.
Benim sorum şu: Epoch değerini seçmek için regex kullanmak ve ardından yeni bir Date nesnesi oluşturmak yerine tarih nesnesini almanın başka bir yolu var mı?
JS konusunda oldukça yeniyim, bu yüzden her türlü yardıma minnettar olurum.
Cevap #1
bildiğim kadarıyla hayır... kullandığım fonksiyon bu, sadece ihtimal olsun diye...
function toDateFromJson(src) {
return new Date(parseInt(src.substr(6)));
}
Cevap #2
Bunu deneyin. Aldığınız tarih dizgesini aşağıdaki işlevde geçirin. Size JavaScript tarih nesnesini verecektir.
function (val) {
var reISO = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/;
var reMsAjax = /^\/Date\((d|-|.*)\)[\/|\\]$/;
if (val)) {
var a = reISO.exec(val);
if (a) {
val = new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6]));
return val;
}
a = reMsAjax.exec(val);
if (a) {
var b = a[1].split(/[-+,.]/);
val = new Date(b[0] ? +b[0] : 0 - +b[1]);
return val;
}
}
return val;
}
