C# 如何使用AddHours和AddMinutes在DateTime变量中添加时间?
我将创建一个表单,用户必须在其中输入日期和时间。在数据库中,我将把日期和时间合并到一列中。如何使用ASP.NET MVC和C#实现这一点 信息:您可以在下面找到我的HTML代码C# 如何使用AddHours和AddMinutes在DateTime变量中添加时间?,c#,asp.net-mvc,datetime,C#,Asp.net Mvc,Datetime,我将创建一个表单,用户必须在其中输入日期和时间。在数据库中,我将把日期和时间合并到一列中。如何使用ASP.NET MVC和C#实现这一点 信息:您可以在下面找到我的HTML代码 安旺基准面 @Html.ValidationMessageFor(model=>model.nieuwaviteit.StartPeriode,“,new{@class=“text danger”}) 黑棋洞 在控制器中,接收日期(属性名称nieuwaviteit.StartPeriode1)和时间(属性名称Beg
安旺基准面
@Html.ValidationMessageFor(model=>model.nieuwaviteit.StartPeriode,“,new{@class=“text danger”})
黑棋洞
在控制器中,接收日期(属性名称nieuwaviteit.StartPeriode
1)和时间(属性名称BeginUur
)作为单独的属性
因此,我的解决方案是在冒号(:
)上拆分时间,并使用方法AddHours
和AddMinutes
为属性StartPeriode
添加时间
但它不起作用。如果我在下面代码中的标记行上放置断点,变量tempstartuur
和tempstartmin
是可以的,但是如果我转到下一行,则小时数不会添加到属性StartPeriode
这是我的控制器的代码
[HttpPost]
public ActionResult NieuweCreateActiviteit(CreateActiviteitViewModel a)
{
int tempstartuur, tempstartmin;
if (int.TryParse(a.BeginUur.Split(':')[0], out tempstartuur) && int.TryParse(a.BeginUur.Split(':')[1], out tempstartmin))
{
a.NieuwActiviteit.StartPeriode.AddHours(tempstartuur); // breakpoint
a.NieuwActiviteit.StartPeriode.AddMinutes(tempstartmin);
}
else
{
AddErrors(new IdentityResult("Start uur is geen uur"));
return View(a);
}
// insert in database
return View();
}
信息:视图模型
public class CreateActiviteitViewModel
{
public Activiteit NieuwActiviteit { get; set; }
public HttpPostedFileBase UploadedFoto { get; set; }
public string Submit { get; set; }
[AllowHtml]
public string Beschrijving { get; set; }
public string BeginUur { get; set; }
public string EindUur { get; set; }
}
public class Activiteit
{
[Key]
public int ID { get; set; }
public string Titel { get; set; }
public string Omschrijving { get; set; }
public virtual ApplicationUser Gebuiker { get; set; }
public string GebuikerID { get; set; }
public DateTime StartPeriode { get; set; }
public DateTime? EindPeriode { get; set; }
public bool Verwijderd { get; set; }
public bool Opgelost { get; set; }
public virtual ICollection<ApplicationUser> Aanwezigen { get; set; }
public string Foto { get; set; }
public virtual Straat Straat { get; set; }
public int StraatID { get; set; }
public string Huisnummer { get; set; }
public string Organisator { get; set; }
}
public类createActiviteViewModel
{
public Activiteit nieuwaviteit{get;set;}
公共HttpPostedFileBase上载到{get;set;}
公共字符串Submit{get;set;}
[allowtml]
公共字符串Beschrijving{get;set;}
公共字符串BeginUur{get;set;}
公共字符串eindur{get;set;}
}
公共课活动
{
[关键]
公共int ID{get;set;}
公共字符串Titel{get;set;}
公共字符串Omschrijving{get;set;}
公共虚拟应用程序用户Gebuiker{get;set;}
公共字符串GebuikerID{get;set;}
公共日期时间开始时段{get;set;}
公共日期时间?EindPeriode{get;set;}
公共bool-Verwijderd{get;set;}
公共bool Opgelost{get;set;}
公共虚拟ICollection Aanwezigen{get;set;}
公共字符串Foto{get;set;}
公共虚拟Straat{get;set;}
公共int StraatID{get;set;}
公共字符串huissummer{get;set;}
公共字符串组织器{get;set;}
}
我的代码怎么了
提前谢谢
对不起,我正在用荷兰语编程。。。如果您对翻译有问题,可以在注释中询问我。如果
AddHours
和AddMinutes
不修改您调用它们的实例,它们将返回一个新值。因此:
a.NieuwActiviteit.StartPeriode = a.NieuwActiviteit.StartPeriode.AddHours(tempstartuur);
a.NieuwActiviteit.StartPeriode = a.NieuwActiviteit.StartPeriode.AddMinutes(tempstartmin);
AddHours方法的报价表:
返回一个新的DateTime,将指定的小时数添加到此实例的值
AddHours
和AddMinutes
不会修改调用它们的实例,它们会返回一个新值。因此:
a.NieuwActiviteit.StartPeriode = a.NieuwActiviteit.StartPeriode.AddHours(tempstartuur);
a.NieuwActiviteit.StartPeriode = a.NieuwActiviteit.StartPeriode.AddMinutes(tempstartmin);
AddHours方法的报价表:
返回一个新的DateTime,将指定的小时数添加到此实例的值