Date dt = new SimpleDateFormat("yyyy-MM-dd H:m:s:S").parse(sTransactionDate))long lgTime = dt.getTime();
lgTime += 24*60*60*1000;//一在
lgTime += 60*60*1000;//一小时
。。Timestamp  ts = new Timestamp(lgTime);
String newDate = new SimpleDateFormat("yyyy-MM-dd H:m:s:S").format(ts);

解决方案 »

  1.   

    我的解决方法是:使用StringTokenizer先分成两部分"2002-3-20",
    "15:07:40",然后在分别使用StringTokenizer取得year,month,day,
    hour,minute,second,最后使用GregorianCalendar设置日期,大概代码如下:
    String time="2002-3-20 15:07:40";
    StringTokenizer t=new StringTokenizer(time," ");//空格分段
    String time1=time.nextToken();//time1为"2002-3-20"
    String time2=time.nextToken();//time2为"15:07:40"
    再分别以"-"和":"为分隔符号取得个变量
    StringTokenizer t2=new StringTokenizer(time1,"-");//"-"分段
    String year=t2.nextToken();
    String month=t2.nextToken();
    String day=t2.nextToken();
    ....................其他类似,接下去无论你怎么处理该有的数据都
    有了,就看你自己怎么喜欢了.我的方法比较复杂,可能有好得多,简单得
    多的方法,这里只是提供一种解决办法而已.谢谢.
        
      

  2.   

    Q1 
    select to_char(t, 'yyyy-MM-dd HH24:mi:ss') from 
    (
    select to_date('2002-3-20 15:07:40' , 'yyyy-MM-dd HH24:mi:ss') t from dual
    )
      

  3.   

    Q2 select to_char(t+1+(1/24)+(1/1440)+(1/86400), 'yyyy-MM-dd HH24:mi:ss') from 
    (
    select to_date('2002-3-20 15:07:40' , 'yyyy-MM-dd HH24:mi:ss') t from dual
    )
      

  4.   

    Q3 select ( t+1+(1/24)+(1/1440)+(1/86400))  - sysdate from 
    (
    select to_date('2002-3-20 15:07:40' , 'yyyy-MM-dd HH24:mi:ss') t from dual
    )
      

  5.   

    to: binriyue(日月) 我试了,不行!你试了么?
      

  6.   

    java.sql.Timestamp t = java.sql.Timestamp.valueof("2002-08-15 17:59:50");
    java.util.Date d = new java.util.Date(t.getTime());
      

  7.   

    下面有错么?怎么不对呢?
    import java.io.*;
    import java.util.*;
    import java.util.Date;
    import java.lang.*;
    import java.text.*;
    import java.sql.*;
    public class test
    {
    public static void main(String args[])
    {
    String str = "2002-03-20 15:07:40";

    try
    {
    SimpleDateFormat dt1 = new SimpleDateFormat("yyyy-MM-dd H:m:s");
    Date dt = dt1.parse(str); long lgTime = dt.getTime()/(24*60*60*1000);
    lgTime += 24*60*60*1000;

    Timestamp  ts = new Timestamp(lgTime);
    String newDate = new SimpleDateFormat("yyyy-MM-dd H:m:s").format(ts);

    System.out.println("st: " + newDate);
    }
    catch(Exception e )
    {
    System.out.println(e);
    }
    }
    }
      

  8.   

    use DateFormat.parse(s), to get date
    use Calendar.setTime(date) to get the Calendar
    you can do everything with Calendar
      

  9.   

    先利用DateFormat将字符串解析为Date型
    再转化为GregorianCalendar,然后就可以方便地进行日期操作了
      

  10.   

    Date dt = dt1.parse(str);
    这一句有问题。parse()方法返回的是long型,怎么能赋给一个Date型呢?
    long lgTime = dt.getTime()/(24*60*60*1000);
    lgTime += 24*60*60*1000;
    这也不对。即使dt是Date型的,那么dt.getTime()/(24*60*60*1000)得到的是dt距离1970-1-1 00:00:00的天数,那下面的那句又是做什么呢?
    Anie的方法是简单且有效的,我前两天刚用到,就是这么做的。
      

  11.   

    import java.util.*;
    import java.text.*;
    public class data
    {
    public static void main(String[] args)
    {
       
    String ds = "2002-3-20 15:07:40";
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    try 
    {
    Date d = df.parse(ds);//将字符串解析成了Date型
    System.out.println("日期" + d);

    GregorianCalendar cal = new GregorianCalendar();
    cal.setTime(d);
           
            //现在开始就可以用cal.add(int field, int amount)来加上任意的时间了
            //另外,GregorianCalendar cal = new GregorianCalendar()就可以得到系统当前时间
           
    }
    catch(ParseException e)
    {
    System.out.println("Unable to parse " + ds);
    }
    }
    }我特地运行了一遍,是可行的
    另外,我不知道哪个函数能比较两个日期之间的时间,难道要取出field一个一个地比吗?请大家指教
      

  12.   

    下而后,肯定行,我已经试了。
    import java.io.*;
    import java.util.*;
    import java.util.Date;
    import java.text.*;
    public class test
    {
    public static void main(String args[]){
          try{
              String str = "2002-3-20 15:07:40";
              Date dt = new SimpleDateFormat("yyyy-MM-dd H:m:s").parse(str);
              long lgTime = dt.getTime();
              lgTime += 24*60*60*1000;//一在
              lgTime += 60*60*1000;//一小时
              java.sql.Timestamp  ts = new java.sql.Timestamp(lgTime);
              String newDate = new SimpleDateFormat("yyyy-MM-dd H:m:s").format(ts);
              System.out.println("st: " + newDate);
          } catch(Exception ee ) {
              ee.printStackTrace();
          }
    }
    }