Javascript 如何将JS Date格式化为C#兼容的DateTime?

Javascript 如何将JS Date格式化为C#兼容的DateTime?,javascript,c#,date,datetime,format,Javascript,C#,Date,Datetime,Format,我已将Javascript日期时间选择器日期从视图传递到MVC控制器操作 传递给控制器操作的字符串格式为2016年7月28日星期四17:05:00 GMT+0100,这会导致将字符串转换为日期时间的无效操作异常 这就是我如何将日期选择器的值指定给隐藏字段值的方法: $('#OutageStart').val(e.date) 如何将JS日期字符串格式化为C#兼容的日期时间 绑定错误被抛出C#自定义模型绑定器,该绑定器试图将JS日期字符串值绑定到一个可空的: 在js中 在c中# 您是否尝试过使用n

我已将Javascript日期时间选择器日期从视图传递到MVC控制器操作

传递给控制器操作的字符串格式为2016年7月28日星期四17:05:00 GMT+0100,这会导致将字符串转换为日期时间的
无效操作异常

这就是我如何将日期选择器的值指定给隐藏字段值的方法:

$('#OutageStart').val(e.date)
如何将JS日期字符串格式化为C#兼容的日期时间

绑定错误被抛出C#自定义模型绑定器,该绑定器试图将JS日期字符串值绑定到一个
可空的

在js中

在c中#


您是否尝试过使用new Date()函数?在正常绑定中,这是可行的,但在自定义值中,我不确定,但如果这有帮助,请尝试

$('#OutageStart').val(新日期(e.Date))


或者,您可以使用时间戳进行转换,并且用户的时区不会影响您的结果

在js中

myDateObject.getTime() //-> outputs a timestamp (integer)
在c#(如果您有.NET 4.6+)

否则

System.DateTime dtDateTime = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc);
dtDateTime = dtDateTime.AddSeconds(timestamp).ToLocalTime();

不起作用,将时区的全名添加到日期字符串中。好的,在JS端,我尝试了以下操作,但是开发工具控制台告诉我e.getTime不是一个函数<代码>$(“#OutageStartDisplay”).on(“dp.change”,函数(e){$(“#OutageStart”).val(e.getTime());}
@BrianJ try e.date.getTime()“C兼容的日期时间”的格式是什么?您确定$.datepicker.formatdate是javascript的一部分,还是依赖一个或多个库来实现该功能?它是一个日期选择器库函数。您使用的是日期选择器,不是吗?我已经实现了它,并且在过去的几个月里运行良好。它符合问题推断出的技术,但很高兴注意到这一点它不是javascript的一部分。OP没有将问题标记为正在使用的库,因此其他人可能会对这个答案感到困惑,不知道为什么它对他们不起作用;-)哦,我是否使用“日期选择器”无关紧要。
Void convertdate(string javascriptdateinstringformat){
datetime.parse(javascriptdateinstringformat) ; }`
myDateObject.getTime() //-> outputs a timestamp (integer)
DateTimeOffset.FromUnixTimeSeconds(timestamp);
System.DateTime dtDateTime = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc);
dtDateTime = dtDateTime.AddSeconds(timestamp).ToLocalTime();