Как правильно обрабатывать значение времени в базе данных с помощью json и javascript/jquery

Кто-нибудь знает, как разобрать объект 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 ). Метод, который я опубликовал выше, - это просто более короткий способ проверить, как обрабатывать это значение, как только я получу его из базы данных, а затем установлю значение в модели.

5
задан codenewbie 25 July 2012 в 22:12
поделиться