Кто-нибудь знает, как разобрать объект json timepan? Я хотел бы вернуть временной интервал UTC в свое представление, а затем преобразовать его в локальное время клиента, но я не нашел ссылок на то, как это сделать.
Я использую mvc, поэтому у меня есть эта модель:
public class TimeSpanModel
{
public TimeSpan StartTime { get; set; }
public TimeSpanModel()
{
this.StartTime = DateTime.UtcNow.TimeOfDay;
}
}
и в моем контроллере я возвращаю эту модель в свой вид вот так:
public ActionResult GetTimeSpanInfo()
{
TimeSpanModel tsm= new TimeSpanModel ();
return Json(tsm);
}
Я звоню вот так из вида:
$.ajax({
type: 'POST',
url: '@Url.Content("~/Controller/GetTimeSpanInfo")',
success: function (data) {
alert(data.StartTime);
var dt = new Date(data.StartTime);
alert(dt.toString());
}
});
но в первом окне предупреждения я вижу только это :[object Object] поэтому я попытался преобразовать временной интервал в дату, но во втором окне предупреждения я получаю недопустимую дату.
Должен ли я преобразовать временной интервал в строку, а затем объединить эту строку с какой-то нечетной датой, которая мне не нужна, чтобы создать «действительную» дату, а затем преобразовать ее в местное время, а затем извлечь время из этого ?
Или есть более простой и элегантный способ работы с TimeSpans или просто с частью Time значения даты и времени?
Спасибо за любую помощь.
P.S. Может показаться глупым получать время UTCnow только для преобразования его в местное время, но в конечном итоге я получу это значение времени UTC из таблицы db -type time (0 ). Метод, который я опубликовал выше, - это просто более короткий способ проверить, как обрабатывать это значение, как только я получу его из базы данных, а затем установлю значение в модели.