从两个FormCollection数据字符串创建DateTime

时间:2016-05-18 13:30:43

标签: c# asp.net-mvc-5

在我的FormCollection数据中,我需要将两个字段合并到一个DateTime字段中。日期包含在SlectedStartDay中,格式为dd/MM/yyyy 12:00:00 AM(时间永远不会只更改日期),时间以StartTime的格式包含在h:mm:ss tt中。我需要将两者合并为一个DateTime变量,但由于我正在FormCollection工作,因此无法弄清楚如何执行此操作。

我已经尝试了DateTime.Parse以及Convert.ToDateTime,但每个都给了我错误“字符串未被识别为有效的DateTime”。这种转换的正确方法是什么?

private string AddTimesheet(FormCollection postData)
{
    var startDates = postData["SelectedStartDay"].Split(',');
    var startDateTime = DateTime.Parse(startDates[0] + postData["StartTime"]);
    return "";
}

1 个答案:

答案 0 :(得分:1)

只需在StartDate和StartTime Value之间添加一个空格,使其成为有效的日期时间,认为它可以解决您的问题

var startDates = postData["SelectedStartDay"].Split(',')[0].Split(' ')
var startDateTime = DateTime.Parse(startDates[0]+" "+ postData["StartTime"]);