UIに時間を表示するために剣道タイムピッカーを使用しています。ウィジェットは次の形式で時刻を送信します
Mon May 16 2016 01:00:00 GMT-0500 (Central Daylight Time)
ここの記事に従って、日時を.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>