今天要处理一个js生成当前时间提交到后台保存。
js code
var myDate = new Date();
callInDateTime=myDate.toLocaleString( ); //获取日期与时间</span>
后台C# code
DateTime dt = Convert.ToDateTime(Request["callInDateTime"]);
谷歌、IE11以下都是可以的,唯独IE10报出异常:未识别有效的datetime
传过来的时间“2016年4月12日 13:42:59”,怎么看都没有问题。
后来查看字符串长度为31,明明没有这么长,url编码后发现多了“%E2%80%8E”,
原来这个东西叫Zero-Width Space,肉眼根本发现不了。
解决方法:
1,替换%E2%80%8E,再进行转换处理
2,js这样写:
callInDateTime=myDate.getFullYear()+'年'+(myDate.getMonth()+1)+'月'+myDate.getDate()+"日 "+ myDate.getHours()+':'+myDate.getMinutes()+':'+myDate.getSeconds();
参考: