我在将字符串转换为DateTime时遇到问题,这是错误
我已使用此链接中显示的解决方案enter link description here并使用DateTime.Parse,但我一直收到此错误
这是我的班级时间表:
public partial class Schedule : BaseEntity
{
public string Day { get; set; }
public string Note { get; set; }
public DateTime Begin { get; set; }
public DateTime End { get; set; }
}
任何帮助请和谢谢 更新:这是查询
var Schedules = new List<Schedule>
{
new Schedule
{
Day="Lundi", Note="note", Begin=Convert.ToDateTime("2013-04-24 17:47:03"),
End=Convert.ToDateTime("2013-05-24 17:47:03"),
ClassId = context.Classes.Where(c=>c.Libel=="Class 1").FirstOrDefault().Id,
SubjectLevelId = context.SubjectLevels.Where(cbv=>cbv.Coef==1).FirstOrDefault().Id,
ClassRoomId = context.ClassRooms.Where(c=>c.Libel=="ClassRoom1").FirstOrDefault().Id,
TeacherId = context.Teachers.Where(c=>c.FirstName=="mouna").FirstOrDefault().Id,
SchoolYearId= context.SchoolYears.Where(f=>f.Begin==DateTime.Parse("15/09/2015")).FirstOrDefault().Id
},
};
Schedules.ForEach(s =>
{
s.ObjectState = Repository.Pattern.Infrastructure.ObjectState.Added;
context.Schedules.Add(s);
context.SaveChanges();
});
答案 0 :(得分:2)
尝试在LINQ查询和AsEnumerable
方法
DateTime.ParseExact
Begin = DateTime.ParseExact("2013-04-24 17:47:03", "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
答案 1 :(得分:1)
ParseExact
将满足您的目的,如下所示。以下是关于此方法的MSDN文档。
Begin = DateTime.ParseExact("2013-04-24 17:47:03", "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
但是,如果您从某个传入文本框或其他控件提供日期,ParseExact
会失败,并且日期不存在,那么它将引发运行时错误。为避免这种情况,最好使用TryParseExact
。从MSDN上阅读有关TryParseExact的here。
Datetime dateTime;
bool isValid = DateTime.TryParseExact("2013-04-24 17:47:03", "yyyy-MM-dd HH:mm:ssy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime);
isValid
会告诉您转化是否成功,dateTime
将从字符串中获得新的转换日期。