Я сталкивался с этим недавно.
Ошибка может также сказать «что-то мешает сохранить!». Потому что в моем случае проблема заключалась не в значении DateTime.
Я думал, что передаю значение для первичного ключа, и то, что прибывало, было "нулем". Будучи ключом, он не может быть нулевым - и поэтому моя проблема была полностью в другом месте. Устранение нуля, проблема исчезла.
Мы все ненавидим вводящие в заблуждение ошибки - и это одна из них.
И наконец, как совет ... Если вам кажется, что преобразование дат является проблемой, тогда вообще не используйте даты! Класс DateTime .NET поддерживает значение "Ticks". Он также может создавать новый DateTime (тики); тоже. Единственное, что можно сказать о том, что реализация тиков в Javascript имеет другую отправную точку в истории. Поэтому вам может потребоваться преобразование между тиками, если вы когда-либо пытались получить DateTimes из c # в Javascript.