package com.r3321.roomprice;
import com.r3321.db.Condb;
import com.r3321.time.Time;
import java.util.Date;
import java.sql.*;
import java.io.*;
import java.text.SimpleDateFormat;
import java.text.ParseException;public class Rprice{
    Condb con=new Condb();
    Time time1=new Time();
    Date date=new Date();
    String Lb_price="病房费";
    String Zg_id="系统自动";
    String Master_id="系统自动";    //生成消费单编号
    int year=date.getYear()+1900;
        int month=date.getMonth()+1;
        int dat=date.getDate();
        int hour=date.getHours();
        int min=date.getMinutes();
        int second=date.getSeconds();
        long time=date.getTime()/600000000;
        String yea=String.valueOf(year);
        String mon=String.valueOf(month);
        String da=String.valueOf(dat);
        String hou=String.valueOf(hour);
        String mi=String.valueOf(min);
        String sec=String.valueOf(second);
        String tim=String.valueOf(time);
        String sub=yea+mon+da+hou+mi+sec+tim;    public Rprice(){}//构造器
    
    public static String getDate(){//格式化当前时间 
    SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd"); 
    Date dd = new Date(); 
    return ft.format(dd); 
   } 
   public static long getQuot(String time1, String time2){//计算时间天数差 
   long quot = 0; 
   SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd"); 
   try { 
   Date date1 = ft.parse( time1 ); 
   Date date2 = ft.parse( time2 ); 
   quot = date2.getTime() - date1.getTime();//Date的getTime()方法返回自1970年1月1日午夜(通用时间)以来的毫秒数 
   quot = quot / 1000 / 60 / 60 / 24; 
   } catch (ParseException e) { 
       e.printStackTrace(); 
   } 
return quot; 
}     public void addroomprice(String Patient_id){
        String sql = "", str = "";
        
   try{//查询出入住时间和房间价格
       str = "select a.In_date,b.Price from info as a,room as b where a.Room_id=b.Room_id and a.Patient_id='" + Patient_id + "'";
   ResultSet rs = con.executeQuery(str);
   if (rs.next()) {
           String date1 = rs.getString(1);//入住时间
           int Pri=rs.getInt(2);//房间价格
           String date2 = getDate();//取现在日期 
           long day = getQuot(date1,date2);//计算天数 
           
          long Price=day*Pri;//总住房费=天数*价格
           sql = "insert into price(Price_id,Patient_id,Lb_price,Price,Set_date,Zg_id,Master_id)values('"+sub+"','"+Patient_id+"','"+Lb_price+"','"+Price+"','"+time1.getYMD()+"','"+Zg_id+"','"+Master_id+"')";
                  int temp = con.executeUpdate(sql);//将这笔消费插入消费表中   }
}catch (Exception ex) {
            System.err.println(ex.getMessage());
        }
    }
}
--------------------------
我上面这个东西想用来计算天数之差,然后乘上价格计算出病人的在院期间的住房费用,将消费插入消费表中,编译没错,放到JSP中也能向表中插入数据,但是数据条目中的金钱字段(Price)却总是为0,可能是数据类型不对,大家帮忙看看,我头都大了,运行时不会报错。谢谢大家。