sukayqwer 2010-12-18 22:03
浏览 221
已采纳

时间类型转换

通过时间去筛选查询出来的信息

错误信息

  public List GetStaPaperListAllByYearsUnite(Date year ,Date year1,String  sunite)
    {  
        StaPaperDAO up=new StaPaperDAO();
        List l=null;
        l=up.findByHQL("  from StaPaper as b where b.staauditing=1 and( b.staPtime between '+year+' and '+year1+') and b.units.ucoding like  '%"+sunite+"%' order by    b.staPid   desc");
        return l;
        
    }
    public List GetStaPaperListAllByYearsUnitePage(Date year ,Date year1, String  sunite,int pageSize, int iCurrentPage)
    {  
        StaPaperDAO up=new StaPaperDAO();
        List l=null;
        l=up.findByHQLPage("   from StaPaper as b where b.staauditing=1 and (b.staPtime between '+year+' and '+year1+') and b.units.ucoding like  '%"+sunite+"%'  order by    b.staPid   desc",pageSize,iCurrentPage);
        return l;
        
    }
      if(request.getParameter("ICK")!=null &&request.getParameter("txtUunits")!=null )
        {
            
            strUnite=request.getParameter("txtUunits").toString().trim();
            strYear=request.getParameter("txtyear").toString().trim();
            strYear1=request.getParameter("txtyear1").toString().trim();
            url="&ICK=1&txtUunits="+request.getParameter("txtUunits")+"&txtyear="+request.getParameter("txtyear")+"&txtyear1="+request.getParameter("txtyear");
             
        }
 
              int PageSize=10;
              int Page=1;
              int totalPage=1;
              int totalrecord=0;
              totalrecord=bll.GetStaPaperListAll().size();
              if(!strUnite.equals("0"))
              {
               totalrecord=bll.GetStaPaperListAllByYearsUnite(Date.valueOf(strYear),Date.valueOf(strYear1),strUnite).size();
              }
              
              
               if(totalrecord % PageSize==0)
              totalPage=totalrecord/PageSize;
              else
              totalPage=(int)Math.floor(totalrecord/PageSize)+1;
              if(totalPage==0)  totalPage=1;
              if(request.getParameter("Page")==null || request.getParameter("Page").equals(""))
              Page=1;
              else
              try
              {
                Page=Integer.parseInt(request.getParameter("Page"));
              }
              catch(java.lang.NumberFormatException e)
              {
              Page=1;
              }
              if(Page<1)  Page=1;
              if(Page>totalPage)  Page=totalPage;
              
 
 
 
        List<StaPaper>  myList=bll.GetStaPaperListAllByPage(PageSize,Page);
      if(!strUnite.equals("0"))
              {
               myList=bll.GetStaPaperListAllByYearsUnitePage(Date.valueOf(strYear),Date.valueOf(strYear1),strUnite,PageSize,Page) ;
              }

 这个问题怎么样解决?

现在变量类型是Date

用Timestamp 也不行

hibernate里面映射是Date ,

sql 2005 数据库表里面的staPtime类型是datetime

所以对于的时间是2010-12-11 00:00:00:0 页面文本框的取值是2010-12-11

 

  • 写回答

1条回答 默认 最新

  • wangpengfeiitta 2010-12-19 10:29
    关注

    这个日期控件生成的短日期类型
    用SimpleDateFormat来转换
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = sdf.parse("2008-08-08 12:10:12");
    具体请参考JDK API文档

    另外 转换成DATE类型后并不会因为转换前的字符串是什么样子而不同 DATE类型的内部表示永远是一样的 所以你的第2条要求是没有意义的 数据库如何显示这个DATE类型只是数据库自己的关系 和DATE本身无关

    如果你希望要自定义Date的显示 同样可是使用SimpleDateFormat类来实现
    只需要
    String date = sdf.format(new Date());
    就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统