Qualcuno sa come analizzare un oggetto timepan json? Desidero restituire l'intervallo di tempo UTC alla mia visualizzazione e quindi convertirlo all'ora del client locale, ma non ho trovato alcun riferimento su come farlo.Come gestire correttamente il valore del tempo db con json e javascript/jquery
sto usando MVC Così ho questo modello:
public class TimeSpanModel
{
public TimeSpan StartTime { get; set; }
public TimeSpanModel()
{
this.StartTime = DateTime.UtcNow.TimeOfDay;
}
}
e nel mio controller I tornare questo modello per mio punto di vista in questo modo:
public ActionResult GetTimeSpanInfo()
{
TimeSpanModel tsm= new TimeSpanModel();
return Json(tsm);
}
sto facendo il chiamare in questo modo dal punto di vista:
$.ajax({
type: 'POST',
url: '@Url.Content("~/Controller/GetTimeSpanInfo")',
success: function (data) {
alert(data.StartTime);
var dt = new Date(data.StartTime);
alert(dt.toString());
}
});
ma nella prima finestra di avviso, vedo solo questo: [object Object] quindi ho provato a convertire l'intervallo di tempo in una data, ma nella seconda casella di avviso, ottengo la data non valida.
Devo convertire l'intervallo di tempo in una stringa e quindi concatenare quella stringa con una data dispari di cui non ho bisogno per creare una data "valida" e quindi convertirla in ora locale e quindi estrarre il tempo da quello?
Oppure esiste un modo più semplice ed elegante di lavorare con TimeSpans o solo la parte Time di un valore datetime?
Grazie per qualsiasi aiuto.
P.S. Può sembrare sciocco ottenere il tempo UTCnow solo per convertirlo in ora locale, ma alla fine otterrò questo valore UTC da un db table - type time (0). Il metodo che ho postato sopra è semplicemente un modo più breve per testare come gestire questo valore una volta ottenuto dal db e quindi impostare il valore nel modello.
Puoi pubblicare un esempio di JSON che viene restituito? Qual è esattamente l'intervallo di tempo che dovrebbe rappresentare? Un numero di secondi?Due periodi di tempo che possono essere visualizzati come datetimes locali e la differenza tra loro mostrati? – JMM
è possibile restituire il tipo lungo. – Myd