Breeze 阻止微风加入时区
我不希望breeze在服务器或客户端上添加时区信息。我怎么关掉这个Breeze 阻止微风加入时区,breeze,Breeze,我不希望breeze在服务器或客户端上添加时区信息。我怎么关掉这个 我在数据库中有一个SQL日期字段-我不需要时间。在C中使用DateTime变量时,我总是希望将它们设置为午夜。我正在覆盖客户端上的breeze.DataType.parseDateFromServer,如这里所述,但我似乎仍在服务器上进行调整。这里的关键点是breeze没有处理时间和时区信息。问题是日期会自动序列化为时间组件,因为在javascript中,所有日期都有时间组件。因此,即使此信息全部设置为零,它仍将在客户端上解释为
我在数据库中有一个SQL日期字段-我不需要时间。在C中使用DateTime变量时,我总是希望将它们设置为午夜。我正在覆盖客户端上的breeze.DataType.parseDateFromServer,如这里所述,但我似乎仍在服务器上进行调整。这里的关键点是breeze没有处理时间和时区信息。问题是日期会自动序列化为时间组件,因为在javascript中,所有日期都有时间组件。因此,即使此信息全部设置为零,它仍将在客户端上解释为带有时间组件的日期 第二个问题是,几乎每个浏览器都根据自己的时区设置格式化日期 因此,问题要么是服务器的时区与客户端的时区不同,要么是服务器日期被序列化,没有时区信息,breeze会将其解释为具有零偏移量的UTC日期。i、 这不太可能与您当地的时区相匹配。这种情况在.NET中发生,服务器日期声明为DateTime,而不是DateTime2或DateTimeOffset 要解决这两个问题,您需要替换Breeze的DataType.parseDateFromServer,以便完全忽略传入的时区信息 比如:
breeze.DataType.parseDateFromServer = function (source) {
source = stripTime(source); // you will need to write the stripTime method.
return new Date(Date.parse(source));
};
如果您使用Moment.js,我认为您可以执行以下操作
breeze.DataType.parseDateFromServer = function (source) {
var date = moment(source);
return date.toDate();
};