起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2014|回复: 7

[处理中3] 时间查询条件一样,但不同浏览器的结果不一样,怎么处理

[复制链接]

150

主题

569

帖子

1438

积分

金牌会员

Rank: 6Rank: 6

积分
1438
QQ
发表于 2017-4-16 20:15:37 | 显示全部楼层 |阅读模式
Model.prototype.bs_wqyxBeforeRefresh = function(event){
    //过滤出三个条件:天使人添加时间超过当前时间一周前的、商品状态等于审核通过的、商品到期日期大于今天的
    var data = this.comp("bs_wqyx");
    var goods_statu ="审核通过";
    var lastweek = new Date(new Date().getTime() -24*60*60*1000*7).toLocaleDateString();
    var today = new Date(new Date().getTime()).toLocaleDateString();
   
    data.setFilter("filter1", "fStatus = '" + goods_statu + "'");
    data.setFilter("filter2", "fTsr_tjsj <= '" + lastweek + "'");
    data.setFilter("filter3", "fDaoqi >= '" + today + "'");
     };
============================================
这样一个查询条件,在chrome浏览器中运行正常,可以查询出时间条件来,但在IE浏览器中就报错,不能执行,在安卓手机上可以运行,但在苹果手机上也同样报错,IE中的报错信息如图,请指导一下,谢谢

无标题.png

150

主题

569

帖子

1438

积分

金牌会员

Rank: 6Rank: 6

积分
1438
QQ
 楼主| 发表于 2017-4-16 20:16:43 | 显示全部楼层
问题补充一下:到底应该怎么样取时间值才能让两种浏览器,安卓和苹果都能正常执行呢?
回复 支持 反对

使用道具 举报

发表于 2017-4-17 11:46:29 | 显示全部楼层
cnjszd 发表于 2017-4-16 20:16
问题补充一下:到底应该怎么样取时间值才能让两种浏览器,安卓和苹果都能正常执行呢? ...

日期时间的格式 需要处理下
直接比较 字段的值  和 字符串   2017年4月9日
肯定是不行的啊!

日期处理函数:http://doc.wex5.com/js-api-date/

应该写成sql支持的日期格式!!你可以打印下字符串,在chrome 浏览器中sql 语句的filter 条件设置的是什么?、
和IE对比下!估计是不一样的字符串
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

150

主题

569

帖子

1438

积分

金牌会员

Rank: 6Rank: 6

积分
1438
QQ
 楼主| 发表于 2017-4-19 17:17:00 | 显示全部楼层
问题补充,是的,同样的这个时间查询条件,用chrome浏览器访问没有问题,控制台也不报错,而在用IE浏览器看的时候,控制台会报错,报错信息如下:============================================================================
2017-04-19 17:12:11 SQL执行失败,SQL:SELECT * FROM goods WHERE ((fStatus = '审核通过' ) AND (fTsr_tjsj >= '?2017?年?4?月?12?日' ) AND (fDaoqi >= '?2017?年?4?月?19?日' ) ) ORDER BY fTsr_tjsj DESC
java.sql.SQLException: 从字符串转换日期和/或时间时,转换失败。
        at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
        at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
        at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
        at net.sourceforge.jtds.jdbc.TdsCore.isDataInResultSet(TdsCore.java:792)
        at net.sourceforge.jtds.jdbc.JtdsResultSet.<init>(JtdsResultSet.java:146)
        at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:424)
        at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:693)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        at com.justep.baas.data.DataUtils.queryData(Unknown Source)
        at com.justep.baas.action.CRUD.query(Unknown Source)
        at ljhsql.Ljh__do.queryGoods(Ljh__do.java:43)
        at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.justep.baas.action.Engine.execAction(Unknown Source)
        at com.justep.baas.action.Engine.execAction(Unknown Source)
        at com.justep.baas.servlet.BaasServlet.execService(Unknown Source)
        at com.justep.baas.servlet.BaasServlet.service(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)


==============================================================================

那个sql语句中,时间前面的那些小问号是哪里来的,如何去掉
回复 支持 反对

使用道具 举报

104

主题

369

帖子

1173

积分

金牌会员

王小二

Rank: 6Rank: 6

积分
1173
QQ
发表于 2017-4-19 19:28:15 来自手机 | 显示全部楼层
不同浏览器api很有可能会有差异,尤其是在ie老大难,更尤其是低版本的ie里面。你完全可以打印一下取到的日期结果,在两个浏览器里面对比最终的格式。错误肯定不是服务端的问题,而是前端的日期格式问题
回复 支持 反对

使用道具 举报

150

主题

569

帖子

1438

积分

金牌会员

Rank: 6Rank: 6

积分
1438
QQ
 楼主| 发表于 2017-4-20 14:25:37 | 显示全部楼层
w1017894741 发表于 2017-4-19 19:28
不同浏览器api很有可能会有差异,尤其是在ie老大难,更尤其是低版本的ie里面。你完全可以打印一下取到的日 ...

问题是在苹果手机的IOS环境中运行也报这样的错误,而在安卓手机中没有问题
回复 支持 反对

使用道具 举报

发表于 2017-4-20 17:13:43 | 显示全部楼层
cnjszd 发表于 2017-4-20 14:25
问题是在苹果手机的IOS环境中运行也报这样的错误,而在安卓手机中没有问题 ...

你先打印下,这个filter 条件字符串是什么??如果字符串默认不一样!就需要自己日期函数 进行 处理

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

104

主题

369

帖子

1173

积分

金牌会员

王小二

Rank: 6Rank: 6

积分
1173
QQ
发表于 2017-4-21 11:32:22 | 显示全部楼层
cnjszd 发表于 2017-4-20 14:25
问题是在苹果手机的IOS环境中运行也报这样的错误,而在安卓手机中没有问题 ...

有的时候靠猜很难猜测到具体原因的,你可以打印一下或者在服务端调试一下
<a href="#自我介绍"/>点点点</a>
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-4 12:27 , Processed in 0.060652 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表