Breeze 查询不提取检查 sql 服务器表中日期列的记录
Breeze query not fetching records that checks for date columns in sql server table
var shippedFromDt = new Date(2013, 09, 09);
var query = EntityQuery.from('Shipments')
.where(breeze.Predicate.create("ShipmentDate", ">=", shippedFromDt))
.orderByDesc("ID")
我在表格中有记录,其中发货日期为"10/9/2013"。但是当我运行上面的查询时,我没有得到任何记录。如果我将日期更改为"10/8/2013",查询将返回记录。我还使用">="查询运算符,因此当输入日期为"10/9/2013"时,查询应返回数据。我不确定这是否正在发生,因为发货的FromDt也包括时间信息,因为表列仅存储日期。我尝试通过为小时,分钟和秒参数传递0值来创建Date对象,但这无济于事。
Javascript 月索引从 0 开始,因此 09 用于 10 月。
这可能是时区问题。基本上,您在客户端上创建的任何日期都定义为客户端浏览器的时区。 相比之下,存储在数据库服务器上的日期(除非是 DateTimeOffset 或 DateTime2 数据类型(是在未指定任何时区的情况下定义的,因此可以认为 UTC 偏移量为 0。即格林威治标准时间。 因此,您最好的办法是通过客户端时区偏移量调整客户端时间,以将其转换为 GMT 时间;像这样的东西。(我没有检查下面的行,所以标志可能已经关闭(。
var adjustedDate = new Date(yourDate.getTime() - (yourDate.getTimezoneOffset() * 60000));
SO上讨论的类似问题
另一种方法是使用"Z"说明符将日期定义为字符串,以指示您希望日期是 UTC O 偏移量,然后将字符串解析为日期。
最后一种方法是在数据库中使用 DateTime2 或 DateTimeOffset 数据类型,其中所有数据的时区偏移量与客户端上的时区偏移量相同。
相关文章:
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 比较从函数和生成的日期对象
- Json数据包含日期和时间格式
- Javascript日期格式类似于ISO,但本地
- 如何在删除第二个表中的所有记录后删除具有日期值的tr
- AngularJS基于日期检索JSON记录
- 在 Meteor 中,如何在给定年份、月份、日期的集合中找到记录
- 在 extjs4 中编辑时需要对齐复选框、添加多条记录并查看日期归档
- 使用 PHP 中记录的日期进行用户登录验证
- Breeze 查询不提取检查 sql 服务器表中日期列的记录
- 这是我的代码,我想添加日期选择器事件,它根据日期给出特定的记录
- 使用PHP从MySql数据库中选择两个日期之间的记录
- 我正在访问日期的记录:如何分配一个值时,一个特定的日期不存在
- 如何从记录集设置时间和日期的格式
- 来自ADO记录集的Javascript日期格式
- 显示包含日期和其他记录的表
- Node.js记录日期大于当前客户端日期
- 日期计算 - 以亲属的形式记录日期
- 我怎么能'fetchXml'在CRM中根据日期而不是时间进行记录
- 如何从日期中删除时间从JavaScript拉记录从SQL