日期:2014-05-20  浏览次数:20754 次

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

希望各位高人能指点迷津

------解决方案--------------------
可以用System.currentTimeMillis()方法获得系统当前的时候,返回的是一个long型的数据
当然,你也可以用new java.util.Date(System.currentTimeMillis())产生一个Date对象
------解决方案--------------------
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));
}
------解决方案--------------------
呵呵,有个类可以帮你的忙
java.util.Calendar
自己去看看吧