Javascript 服务器上的日期时间格式
我有多选复选框来选择报告日期。用户正在选择一个或多个报告日期。我正在使用JavaScript获取选定日期:Javascript 服务器上的日期时间格式,javascript,datetime,model-view-controller,Javascript,Datetime,Model View Controller,我有多选复选框来选择报告日期。用户正在选择一个或多个报告日期。我正在使用JavaScript获取选定日期: var dateTime = new Date($(this).val()).toJSON(); 我正在将所选日期传递给控制器并创建查询: foreach (var reportDate in reportDates) { predicateReportDate = predicateReportDate.Or(p => p.LastUpdateDate == reportD
var dateTime = new Date($(this).val()).toJSON();
我正在将所选日期传递给控制器并创建查询:
foreach (var reportDate in reportDates)
{
predicateReportDate = predicateReportDate.Or(p => p.LastUpdateDate == reportDate.ReportDate);
}
在本地一切正常,但我在将页面部署到服务器时发现了日期格式的问题
本地日期时间格式如下
“2017-04-21 00:00:00”
但在服务器上,我看到了完全不同的日期:
2017年4月20日下午6:00:00
这会导致筛选器在服务器上无法正常工作(不会返回结果),因为没有包含该日期的报告
两者:
最后更新日期
及
reportDate.reportDate
是日期时间(不是字符串)
你能帮我统一日期格式吗?我所做的是:
我替换了从过滤器中读取日期的行:
var dateTime = new Date($(this).val()).toJSON();
与
似乎
toJSON()
正在将日期(我使用的是UTC)转换为本地服务器时区。您是说一天的时间间隔为1天,还是需要清除时间部分?请尝试检查每个日期对象的时区。它们可能指的是完全相同的时间点,但表示方式会根据代码运行的本地时区进行调整。这可能不是最佳解决方案,但我以前使用过它来确保日期匹配。javascriptvar date1=new Date();日期1.设定时间(0,0,0,0)代码>您可能需要使用UTC时间来确保它们在客户端和服务器上匹配注意拼写JavaScript以避免搜索与Java冲突。
var dateTime = $(this).val().split(' ')[0];