¿Alguien sabe cómo analizar un objeto json timespan? Me gustaría devolver el intervalo de tiempo UTC a mi vista, y luego convertirlo a la hora del cliente local, pero no he encontrado ninguna referencia sobre cómo hacerlo.Cómo manejar correctamente el valor del tiempo de db con json y javascript/jquery
estoy usando MVC así que tengo este modelo:
public class TimeSpanModel
{
public TimeSpan StartTime { get; set; }
public TimeSpanModel()
{
this.StartTime = DateTime.UtcNow.TimeOfDay;
}
}
y en mi controlador vuelvo este modelo a mi vista como esta:
public ActionResult GetTimeSpanInfo()
{
TimeSpanModel tsm= new TimeSpanModel();
return Json(tsm);
}
estoy haciendo la llamar así desde el punto de vista:
$.ajax({
type: 'POST',
url: '@Url.Content("~/Controller/GetTimeSpanInfo")',
success: function (data) {
alert(data.StartTime);
var dt = new Date(data.StartTime);
alert(dt.toString());
}
});
pero en el primer cuadro de alerta, solamente veo esto: [object Object] , así que traté de convertir el intervalo de tiempo en una Fecha, pero en el segundo cuadro de alerta, recibo la Fecha no válida.
Tendré que convertir el intervalo de tiempo en una cadena, y luego concatenar esa cadena con una fecha impar que no necesito para crear una fecha 'válida' y luego convertirla a la hora local, y luego extraer el tiempo de eso?
¿O hay una manera más fácil y más elegante de trabajar con TimeSpans, o simplemente la parte de tiempo de un valor de fecha y hora?
Gracias por cualquier ayuda.
P.S. Puede parecer tonto obtener el tiempo UTCnow solo para convertirlo a la hora local, pero eventualmente obtendré este valor de tiempo UTC de una tabla db - escriba time (0). El método que publiqué anteriormente es simplemente una forma más corta de probar cómo manejar este valor una vez que lo obtengo de la base de datos y luego establecer el valor en el modelo.
Se puede publicar un ejemplo de la JSON que está siendo devuelto? ¿Qué se supone que representa exactamente el lapso de tiempo? ¿Un número de segundos?¿Dos fechas que se pueden mostrar como fechas locales, y se muestra la diferencia entre ellas? – JMM
puede devolver el tipo largo. – Myd