小弟我刚学JAVA不久,
现在作了一个项目:内有一个结帐模块,需要计算出两个日期的差值,数据库是MySQL
在写入数据库的时候  Date date= new Date();
 String toLocaleString = date.toLocaleString();
String vv=toLocaleString;
数据库中的字段类型是 date 类型的,这个是开始日期
现在需要得到结帐时的系统日期,并与前面的日期相减得到,差多少时间,希望各位高人能指点迷津

解决方案 »

  1.   

    可以用System.currentTimeMillis()方法获得系统当前的时候,返回的是一个long型的数据
    当然,你也可以用new java.util.Date(System.currentTimeMillis())产生一个Date对象
      

  2.   

    Sysdate我是在Oracle数据库查出来的,希望能有帮助吧:)
    select to_char(sysdate,'YYYY-MM-DD H24:mm:ss') sysdate from dual; /**
     * 字符转日期
     * @param inString 输入日期字符
     * @return
     * 2006-12-18
     */
    public static java.util.Date StringtoDate(String inString){
    java.util.Date retDate = new java.util.Date();
    try{
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
    retDate = sdf.parse(inString);
    }catch(ParseException e){
    System.out.println("String to Date error");
    }
    return retDate;
    }
    /**
     * 返回库存剩余时间 
     * @param s_stkday 库存天数
     * @param s_minupdate 最近更新日期
     * @param s_sysdate 系统日期
     * @return
     * 2006-12-18
     */
    public int getRemainDay(String s_stkday,String s_minupdate,String s_sysdate){
    int i_stkday = Integer.parseInt(s_stkday);
    java.util.Date minupdate = new java.util.Date();
    java.util.Date sysdate = new java.util.Date();
    //------------------------------
    minupdate = StringtoDate(s_minupdate);
    sysdate = StringtoDate(s_sysdate);
    int i_remainday = 0;
    //----------------------------------------------
    try{
    i_remainday = diffDate(addDate(minupdate,i_stkday),sysdate);
    }catch(Exception e){
    System.out.println("RemainDay() : "+e);
    }
    return i_remainday;
    }
    /**
     * 
     * @param date
     * @return
     * 2006-12-18
     */
    public static long getMillis(java.util.Date date) {
    java.util.Calendar c = java.util.Calendar.getInstance();
    c.setTime(date);
    return c.getTimeInMillis();
    }
    /**
     * 
     * @param date
     * @param day
     * @return
     * 2006-12-18 
     */
    public static java.util.Date addDate(java.util.Date date, int day) {
    java.util.Calendar c = java.util.Calendar.getInstance();
    c.setTimeInMillis(getMillis(date) + ((long) day) * 24 * 3600 * 1000);
    return c.getTime();
    }
    /**
     * 
     * @param date
     * @param date1
     * @return
     * 2006-12-18
     */
    public static int diffDate(java.util.Date date, java.util.Date date1) {
    return (int) ((getMillis(date) - getMillis(date1)) / (24 * 3600 * 1000));
    }
      

  3.   

    呵呵,有个类可以帮你的忙 
    java.util.Calendar
    自己去看看吧