Я использую kendo time picker, чтобы показать время в пользовательском интерфейсе. Виджет представляет время в следующем формате Mon May 16 2016 01:00:00 GMT-0500 (Central Daylight Time)
Ошибка анализа при преобразовании javascript datetime в C#
Я последовал за статью here преобразовать DateTime в .Net даты и времени объекта Однако я получаю сообщение об ошибке при разборе
{ "Строка не была признана действительный DateTime. "}
После того, как дата разобрана, я хочу преобразовать ее в UTC и сохранить временную часть в базе данных.
[HttpPost]
public ActionResult Save(MyModel model)
{
// getting error at line below while parsing
DateTime dt = DateTime.ParseExact(model.SelectedTimeString.Substring(0,33),
"ddd MMM d yyyy HH:mm:ss GMT-zzzz",
CultureInfo.InvariantCulture);
var utcTime = dt.ToUniversalTime().TimeOfDay;
// store utcTime in database here
return View("Index", model);
}
cshtml
@using (@Html.BeginForm("Save", "Home"))
{
<div class="row">
<div class="col-lg-6">
@(Html.Kendo().TimePickerFor(x => x.SelectTime).Events(e => e.Change("changeDate")))
@Html.HiddenFor(x=>x.SelectedTimeString)
</div>
</div>
<button type="submit">Save</button>
}
Javascript
<script type="text/javascript">
function changeDate() {
var kendoDate = $('#SelectTime').getKendoTimePicker();
$('#SelectedTimeString').val(kendoDate.value());
}
</script>
Преобразование его в UTC в браузере было бы намного проще ... (и показано, что вы уже связали) –
Итак, как вы конвертируете эту строку даты в UTC в javascript – LP13