1
我有一個值爲3:30pm
的JavaScript字符串。將字符串格式的時間轉換爲C#時間跨度
我有一個MVC控制器,它的參數是TimeSpan
。
我做了一個jQuery的職位,控制器。如何從字符串格式獲取TimeSpan
格式的時間?
我有一個值爲3:30pm
的JavaScript字符串。將字符串格式的時間轉換爲C#時間跨度
我有一個MVC控制器,它的參數是TimeSpan
。
我做了一個jQuery的職位,控制器。如何從字符串格式獲取TimeSpan
格式的時間?
由於TimeSpan
沒有默認的ctro(無參數),因此不能使用默認的模型聯編程序。你需要編寫自己:
public class TimeModelBinder:DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext,
ModelBindingContext bindingContext)
{
var hour = controllerContext.HttpContext.Request["hours"];
var minutes = controllerContext.HttpContext.Request["minutes"];
var time = new TimeSpan(int.Parse(Hour), int.Parse(minutes), 0);
return return time;
}
}
控制器:
public ActionResult Index([ModelBinder(typeof(TimeModelBinder))] TimeSpan model)
{
}
帖子:
$.post("/home/index", {
hours: 5,
minutes: 10 }, function() {
//success
});
從內存
如果你成功地解析您的JavaScript字符串,日期時間,你可以這樣做:
DateTime.TimeOfDay
之後,將代表從午夜開始的時間跨度經過一天的一部分。
'TimeSpan'存儲的時間間隔,不寫一個具體的時間。使用時間跨度表示時間的唯一方法是存儲某個特定時間的間隔,即午夜。那是你要的嗎? –
@pwas是的,我想存儲從午夜時間。 –
好吧,所以你需要編寫自己的模型綁定器,因爲'TimeSpan'沒有默認的無參數ctor,所以默認情況下它不能綁定。 –