如何在C#中将字符串转换为DateTime

时间:2016-08-01 07:58:06

标签: c# asp.net-mvc datetime

我收到此错误:

  

类型' System.FormatException'的例外情况发生在mscorlib.dll中   但未在用户代码中处理

     

其他信息:字符串未被识别为有效的DateTime。

我的两个班级在这里显示:

public class GigFormViewModel
{
    public string Venue { get; set; }
    public string Date { get; set; }
    public string Time { get; set; }
    public byte Genre { get; set; }

    public IEnumerable<Genre> Genres { get; set; }

    public DateTime DateTime
    {
        get { return DateTime.Parse(string.Format("{0} {1}", Date, Time)); }
    }
}

public class Gig
{
    public int Id { get; set; }

    [Required]
    public ApplicationUser Artist { get; set; }

    [Required]
    public string ArtistId { get; set; }

    public DateTime DateTime { get; set; }

    [Required]
    [StringLength(255)]
    public string Venue { get; set; }

    public Genre Genre { get; set; }

    [Required]
    public byte GenreId { get; set; }
}

1 个答案:

答案 0 :(得分:4)

使用ParseExact,假设您的字符string.Format("{0} {1}", Date, Time)格式为DD/MM/YYYY hh:mm tt,如01/11/2016 12:00 PM,那么您可以通过

进行操作
DateTime.ParseExact(string.Format("{0} {1}", Date, Time), 
          "DD/MM/YYYY hh:mm tt", CultureInfo.InvariantCulture);