java.sql.Timestamp里的getTime()返回毫秒。就是long类型的。

解决方案 »

  1.   

    你是想得到一个
    TimeStamp对应的
    日期吗?
      

  2.   

    对于你的需求,你可以这么来:
    String today = new Timestamp(System.currentTimeMillis());
    today = today.substring(0,10); //取日期部分
    while(有记录)
    {
         long c = 读取当前记录内的时间。
         String s = new Timestamp(c);
         if (s.indexOf(today)>=0)  //条件成立说明记录内日期是今天的
         {
                 //输出当前日期。
          }
         
    }
      

  3.   

    用new Timestamp(System.currentTimeMillis())得到的时间为2003-06-22 11:59:39.328,
    现在我从页面上获得了“2003-06-22 11:59:39.328”这个字符串,
    并且截取为“2003-06-22 ”,如何把这个字符串转换为Long?
    转完之后还能查2003-06-22 的所有匹配数据吗??
    因为我觉得根据“2003-06-22 11:59:39.328”和“2003-06-22 ”得到的Long的数字肯定是不一样的。
      

  4.   

    并且截取为“2003-06-22 ”,如何把这个字符串转换为Long?如果要得到这个long的话
    这样吧
    String str = "2003-06-22";
    SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );
    Date date = sdf.format( str );
    long timeLong = date.getTime();
      

  5.   

    如果你想搜索特定某一天的话
    那么你可以这样来做
    String str = "2003-06-22";
    String str2 = "2003-06-23";SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );
    Date date = sdf.format( str );
    Date date2 = sdf.format( str2 );
    long timeLong = date.getTime();
    long timeLong2 = date2.getTime();然后在你的数据库里面查询
    所有的
    数字(由System.currentTimeMillis()得到的long)
    加于这两者之间的数据
    明白?
      

  6.   

    谢谢!XKP(低等下人),只是我觉得根据“2003-06-22 11:59:39.328”和“2003-06-22 ”得到的Long的数字肯定是不一样的。那我得到了这个long之后,能比吗?
      

  7.   

    谢谢!XKP(低等下人),我试试:)再次感谢!
      

  8.   

    谢谢你,飞跃,可能是我没说清楚。
    我现在是是从页面上获得了一个字符串“2003-06-22 11:59:39.328”,
    截取成了“2003-06-22 ”,怎么拿到数据库里去做搜索??
    对呀,我明白你的意思。就按我写的去做,再修改一下,一点问题也没有。
    String day = 你的截取结果;
    while(有记录) -//循环遍历所有记录。
    {
         long c = 读取当前记录内的时间。
         String s = new Timestamp(c);
         if (s.indexOf(day)>=0)  //条件成立说明记录内日期是与day匹配的
         {
                 //输出当前日期。
          }
         
    }
      

  9.   

    明白了,你想用一条sql语句直接查询记录集合,对吧,
    那应该这样:
    比如查,2003-06-22的,
    String str = "2003-06-22 00:00:00";
    String str2 = "2003-06-23 00:00:00";SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
    Date date = sdf.format( str );
    Date date2 = sdf.format( str2 );
    long t1 = date.getTime();
    long t2 = date2.getTime();然后sql语句内写:
    select * from your_list where t1<=时间字段 and 时间字段<t2
      

  10.   

    还有个问题~~
    如果:
    String str = request.getParameter("time");
    那么
    String str2 = "2003-06-23 00:00:00";怎么得到??
      

  11.   

    你可以在str转换成long之后
    在t1的基础上
    加上
    24 * 24 * 60 * 1000