Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用AddHours和AddMinutes在DateTime变量中添加时间?_C#_Asp.net Mvc_Datetime - Fatal编程技术网

C# 如何使用AddHours和AddMinutes在DateTime变量中添加时间?

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

我将创建一个表单,用户必须在其中输入日期和时间。在数据库中,我将把日期和时间合并到一列中。如何使用ASP.NET MVC和C#实现这一点

信息:您可以在下面找到我的HTML代码


安旺基准面
@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,将指定的小时数添加到此实例的值