SharePoint list items have a tricky way how to assign values to DateTime fields in your code. It is possible to assign value of DateTime type to this field but it also possible to assign a string. This string is a little bit mysterious. You may get errors with one dates but some dates will work perfect. So what’s the trick?
If you want to assign date as a string to SharePoint’s DateTime type field then you must format this string as an invariant date. The following line of code explains better what I mean.
item["MyDate"] = DateTime.Now.ToString(DateTimeFormatInfo.InvariantInfo);
If you guarantee that dates are in invariant format then you have no problems when assigning values to DateTime fields. Remember that invariant format is: